如何在jsp页面中使用struts2标签?
在jsp页面中使用struts2标签的方法是在jsp页面上引入<%@ taglib prefix="s" uri="/struts-tags" %>的struts2标签库。
拓展:
1、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。
2、Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
3、2000年5月发展至今,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展。
1、set标签
<s:iterator value="#request.consignList">
<tr>
<td>${CONTACTID }</td>
<td>${CONTAID }</td>
<td>${CHARACTERISTICCODE }</td>
<td>${ISLCL }
<s:set name="ids" value="%{ID+(#request.ids!=null?(','+#request.ids):'')}"></s:set>
</td>
</tr>
</s:iterator>
<s:hidden name="ids"></s:hidden>
上面在循环标签中使用了s:set标签给ids赋值,用途是将ID中的值用逗号隔开,重新赋值到变量ids中,然后在循环外面引用ids
2、doubleselect标签
假如后台的对象为Map<String,Map<String,String>>格式,并且放在request中
<s:doubleselect theme="simple"
list="#request.map.keySet()"
doubleName="chargeInfo.funcTypeId"
doubleList="#request.map[top]"
doubleListKey="key"
doubleListValue="value">
</s:doubleselect>
另外解决子下拉框换行的问题:
.nobr br{
display: none;
}
<tr class="nobr">
<s:doubleselect></s:doubleselect>
</tr>
注:最好给form加上name否则子下拉框有可能会显示不出值,原因查看生成的js就明白了。