我正在对基于Struts1的现有Web应用程序进行更改 - 该应用程序已经由各种形式和组合构成。动作。
我想做的是
- 为移动版本的网站添加几页。
- 例如,我想添加一个包含少量表单的JSP页面 字段(与PC中的字段相同) 版本)带有提交按钮。上 提交,我想打电话一样 在PC中处理表单的ACTION类 版本
这可能吗?请指出任何解释上述内容的链接。
EDIT1:
我的 struts-config.xml action-mappings 中的几行。
<action path="/signupPC"
name="signupPCForm"
validate="true"
input="/signupFailedPC.jsp">
<forward name="success" path="/signupSuccessPC.jsp" />
<forward name="failure" path="/signupFailedPC.jsp" />
</action>
@Nathan 如何添加移动设备专用网页 这里吗?
我应该添加新动作吗? path =“ / signupMobile ”在这里? - 这意味着添加&lt; html:form action =“/ signupMobile.do ” method =“post”&gt;到我的手机jsp?
我希望我没有添加新的Form bean ,因为我想使用 相同的Form.java适用于基于PC的版本。
答案 0 :(得分:2)
Nathan告诉了你需要知道的一切,我只是添加一个如何编写struts-config文件的例子:
<action path="/signup"
name="signupForm"
validate="true"
input="/signup.jsp">
<forward name="successPC" path="/PC/signupSuccess.jsp" />
<forward name="failurePC" path="/PC/signupFailed.jsp" />
<forward name="successMobile" path="/mobile/signupSuccess.jsp" />
<forward name="failureMobile" path="/mobile/signupSuccess.jsp" />
</action>
您将调用相同的操作(java类的方法),并且根据调用该方法的设备,您将转发到PC成功或移动成功网页。
答案 1 :(得分:1)
在struts-config中,您有一组动作映射元素。对于每个actionMapping,您有一个或多个forward元素。每个转发将应用程序中的相对URL映射到字符串。将特定于移动设备的转发添加到操作映射。 ActionMapping为该映射的每个转发都有一个条目,您可以通过struts-config中的字符串标识来查找它们。然后在你的Action中你将需要代码来根据是从PC url还是移动URL调用动作来从ActionMapping中取出正确的ActionForward。