【问题标题】:Struts - What changes are needed to add a new JSP?Struts - 添加新的 JSP 需要进行哪些更改?
【发布时间】:2010-10-26 15:56:02
【问题描述】:

我正在对基于 Struts1 的现有 Web 应用程序进行更改 - 该应用程序已经由各种表单和操作组成。

我想做的是

  • 移动版网站添加几个页面。
  • 例如,我想添加一个 JSP 页面,其中包含一个包含几个 字段(与 PC 中的相同) 版本)带有提交按钮。上 提交,我想调用相同的 在 PC 中处理表单的 ACTION 类 版本。

这可能吗?请指出任何解释上述内容的链接。


编辑1:

我的 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>


@内森 如何添加移动特定页面 在这里?

我应该添加一个新动作吗 path="/signupMobile" 在这里? - 这意味着添加

到我的移动 jsp?

我希望我不必添加一个新的 Form bean,因为我想使用 与基于 PC 的版本相同的 Form.java。

【问题讨论】:

    标签: jsp mobile struts


    【解决方案1】:

    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成功或移动成功网页。

    【讨论】:

    • 谢谢@carlos。 input="/signup.jsp" 呢?不应该也指定移动版本吗?这里的 name="signupForm" 指的是 MOBILE 和 PC 版本 使用的 FORM bean - 对吗?
    • 好吧,我添加了输入,因为您的示例中有它。我相信我从来没有在我的任何行动中使用过它,但我不能确定这一点。与您的第二个问题相关:是的,它指的是您创建的 java 表单 bean,只要 PC 和移动设备的行为相同,它就应该相同。
    【解决方案2】:

    在您的 struts-config 中,您有一组动作映射元素。对于每个 actionMapping,您都有一个或多个 forward 元素。每个转发都将应用程序中的相对 url 映射到一个字符串。将特定于移动设备的转发添加到操作映射。 ActionMapping 为该映射的每个转发都有一个条目,您可以通过在 struts-config 中提供的字符串标识符来查找它们。然后,在您的 Action 中,您需要代码根据是从 PC url 还是移动 url 调用操作来从 ActionMapping 中提取正确的 ActionForward。

    【讨论】:

    • 谢谢@Nathan - 你能举个例子吗?我是 struts 新手。
    • @Van de Graff:将此答案更改为更简单的方法。查看您的网络应用程序,看看您是否认识我所说的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    相关资源
    最近更新 更多