我想在DynaForm上设置一个值,这在Action类中很容易做到,但我想在JSP本身中这样做,方法是将会话中的值复制到表单中。
<form-bean name="inputCIDs" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="containerIDFormat" type="java.lang.String"/>
</form-bean>
以下Java代码在JSP中有效,但是有一个Struts 1.x或JSTL标记可以执行等效的操作吗?
<%
DynaActionForm form = (DynaActionForm) request.getAttribute("inputCIDs");
form.set("containerIDFormat", session.getAttribute("varInSession"));
%>
用户将使用选择框
来使用和更改该属性<html:select property="containerIDFormat">
<html:options collection="containerIDFormats" property="value" labelProperty="description"/>
</html:select>
环境:
Struts 1.2.4
taglibs 1.1.2
JBoss 4.0.2
答案 0 :(得分:0)
为什么呢? JSP不适合此类工作。
<html:hidden property="containerIDFormat" value="${varInSession}"/>
如果你只是设置表单值,它无论如何都无法在提交中存活,因为将创建一个新的请求范围的表单。如果它是一个会话范围的形式,那么在JSP中完成这项工作的理由就更少了。