struts1转发和重定向的问题
刚学struts
A页面:
- Java code
<html:form action="/userLogin" focus="userName"><html:text property="userName" size="16" /><html:submit property="login" value="Submit" /></html:form>
UserLoginAction:
- Java code
userName=userLoginForm.getUserName();request.setAttribute("userName", userName);return mapping.findForward("success");struts-config.xml:
- Java code
<action-mappings > <action attribute="userLoginForm" input="/form/userLogin.jsp" name="userLoginForm" path="/userLogin" scope="request" type="com.yourcompany.struts.action.UserLoginAction"> <forward name="fault" path="/form/userLogin.jsp" redirect="false" /> <forward name="success" path="/form/success.jsp" redirect="false" /> </action></action-mappings>
B页面:
- Java code
[<bean:write name="userName" scope="request" />]
就是标红的地方,如果我不写request.setAttribute("userName", userName);为什么B页面就获得不到userName呢?我也查了redirect="false"是转发。以前不用struts,我request.getRequestDispatcher("/form/success.jsp").forward(request,response);这样写就可以不用setAttribute,B页面就可以获得A页请求里的数据。这是怎么回事呢?如果A是一个注册页面,里面有几十个参数,我还非要每个都setAttribute一下?
[解决办法]
setAttribute 是必要的呀
[解决办法]
setAttribute 是必要的呀