Struts - 需要进行哪些更改才能添加新的JSP?
我正在对基于Struts1的现有Web应用程序进行更改 - 它已经由各种形式的&操作组成。Struts - 需要进行哪些更改才能添加新的JSP?
我所试图做的是
- 添加了几页为移动版本的网站。
- 例如,我想用一个提交按钮添加一个JSP页面,其中包含一个带有几个 字段的表单(与PC 版本中的相同)。在 提交中,我想调用与处理PC 版本中的表单相同的 ACTION类。
这可能吗?请指出任何解释上述内容的链接。
EDIT1:
从我的struts-config.xml动作映射几行。
<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”? - 这意味着添加< html:form action =“/ signupMobile.do” method =“post”>我的手机jsp?
我希望我不必添加一个新的表格bean因为我想利用 相同的Form.java意味着基于PC的版本。
在你的struts-config中你有一组动作映射元素。对于每个actionMapping,你有一个或多个前向元素。每个forward都将应用中的相对url映射到一个字符串。将特定于移动设备的转发添加到操作映射中。 ActionMapping为该映射的每个转发都有一个条目,您可以通过struts-config中给出的字符串标识符来查找它们。然后,在你的Action中,你需要根据动作是从PC的url还是移动url调用,从ActionMapping中取出正确的ActionForward。
内森告诉你一切你需要知道的,我只是将我怎么会写在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成功或移动成功网页。
谢谢@卡洛斯。 ** input =“/ signup.jsp”**?不应该指定**移动版本**吗? ** name =“signupForm”**这里是指用于** MOBILE和PC版本**的FORM bean ** - 是吗? – 2010-10-27 13:20:08
嗯,我添加了输入,因为你在你的例子中有它。我相信我从未用过我的任何行动,但我无法确定。与第二个问题相关:是的,它指的是您创建的Java表单bean,只要PC和移动设备的行为相同,它就应该是相同的。 – 2010-10-27 13:36:29
谢谢@Nathan - 你能举个例子吗?我对struts很陌生。 – 2010-10-26 16:24:54
@Van de Graff:将此答案更改为更简单的方法。看看你的web应用程序,看看你是否认识到我正在谈论的部分。 – 2010-10-26 17:05:54