如何在freemarker实现把库中查询的类似“2,3,4”字符串转成字符串数组,并判断有没有1,2,3,4这些数字

问题描述:

项目框架:struts2+spring+hiberante+freemarker

对于多选框存入库中为一个String类型字符串,格式如:"2,3,4"

ASP

ASP.NET

PHP

JSP
要修改这个提交页面

就需要把这个查询出来的字符变成字符串,for循环成成字符与"1","2","3","4"这几个比较,
如果为true则就选中这个多选框checked="checked"

我的代码出来如下:
String sourceStr="1,2,3,4,5";
String[] sourceStrArray=sourceStr.split(",");
for(int i=0;i<sourceStrArray.length;i++)
{

              if("1".equals(sourceStrArray[i])){

[color=red][/color] ASP

ASP.NET

PHP

JSP
}else if("2".equals(sourceStrArray[i])){
ASP

[color=red]ASP.NET [/color]
PHP

JSP
}else if("3".equals(sourceStrArray[i])){
ASP

ASP.NET

[color=red]PHP [/color]

JSP
}else{
ASP

ASP.NET

PHP

[color=red]JSP[/color]
}

             }

[size=large]想问:如何在freemarker模板上做如上的处理啊。因为从action转到模板的就一个String字符串。[/size][color=red][/color]

楼主,你确定你给的代码是你想要的结果吗?按照你的代码如果sourceStr="1,2,3,4,5",那么你一共得到了5组checkbox,每组4个,一共是5x4=20个。假定这不是你想要的结果,如果用freemarker,很简单

checked="checked"</#if>[/color]> ASP
checked="checked"</#if>[/color]>ASP.NET
checked="checked"</#if>[/color]>PHP
checked="checked"</#if>[/color]>JSP