scriptlets为做事的老办法,你应该避免编写
Java代码
JSP的所有
Struts2
OGNL仅使用其标签可以帮助您实现相同的目标。
该
<input />零件正在工作,因为您正在向
scriptletHTML标记中插入一个允许的标记。
该
<s:select />零件不起作用,因为
scriptlet不允许在Struts2标签中注入内部。
为了使它的工作,你应该使用
#attr语法
OGNL访问的
Java变量声明
scriptlets,并推动 通过你 在
PageContext,像这样(没有经过充分测试):
<% for (int counter=0;counter<myList.size();counter++) { // pushing it into the pageContext pageContext.setAttribute("counter",counter);%> <s:select cssClass="login-textbox" cssStyle="width:130px" list="#masterColDO.validation" name="chngdColumnValues" id="%{'columnId' + #attr['counter']}" /><% }%>但是,即使在技术上可行,也不建议这样做。您应该使用纯Struts2方式,如下所示:
<s:iterator value="myList" status="ctr"> <s:select cssClass="login-textbox" cssStyle="width:130px" list="#masterColDO.validation" name="chngdColumnValues" id="%{'columnId' + #ctr.index}" /></s:iterator>PS:Struts标记没有任何
styleClass属性。您可以使用
cssClass和/或
cssStyle;
并且,如果
controlType为String,则应使用
.equals而不是
==:
<s:iftest="%{#masterColDO.controlType.equals('dropdown')}">。


