日期:2014-05-18  浏览次数:20675 次

ActionForm回填JSP页面不起作用
现有一JSP页面,名为a.jsp,其中表单有相应的输入框
a.jsp-> ActionForm-> Action-> forward-> a.jsp(Scope=session)中相应输入框会回填刚才的输入值。

现在我需要在a.jsp页面中从某一Session取得值后回填给ActionForm,期待该ActionForm会将输入框自动填写值。
不能使用JSP设置value= <%=取得的值%> 。因为使用了自定义标签对。
屡次失败,是何原因?如何解决?

a.jsp页面例子代码如下:

.....
<%@   page   import=   "com.xxx.* "%>
...
<%....
LaneForm   laneform=   new   LaneForm();
laneform.setTest( "hahah ");//打印出来正常,说明填到此ActionForm中
%>
.........

<html:form   action= "TestAction "   >
<input   name= "test "   type= "text ">
........

Struts设置此TestAction的ActionForm为LaneForm

------解决方案--------------------
看不懂,Session在哪里取值的,给了谁.Session里的值跟LaneForm什么关系.
------解决方案--------------------
帮顶~
------解决方案--------------------
狂晕,你怎么在页面自己去new一个ActionForm啦,应该是从request按name取出来。

或者你非要使用你在JSP页面new出来的ActionForm,那么也应该在jsp页面里去request.setAttribute( "FORMBEAN的名字 ",laneform);
------解决方案--------------------
<%....
LaneForm laneform= new LaneForm();
laneform.setTest( "hahah ");//打印出来正常,说明填到此ActionForm中
request.setAttribute( "laneform ", laneform); //在 <form-bean name= "laneform " ....的情况下
%>


不能使用JSP设置value= <%=取得的值%> 。因为使用了自定义标签对。这是什么逻辑?数值当然是可以设置的,但是必须用javascript写在你页面的onload事件里