【问题标题】:Struts2 - menu and including pageStruts2 - 菜单和包括页面
【发布时间】:2014-12-12 07:37:01
【问题描述】:

我有一个关于 Struts2 的基本问题。我想用下一个风格实现一个简单的 Web 应用程序:

                           TITLE                 12:42
------------------------------------------------------
MENU              | **********************************
1. Config         | **********************************
 - Products       | **********************************
 - Customers      | **********************************
2. Operations     | **********************************
 - ...            | **********************************
3. Statistics     | **********************************

请原谅我,我不是网页设计师。 :)

所以我的 Web 应用程序有一个标题,附加信息(例如当前时间)将放在标题部分。在左侧会有一个菜单,在右侧(将占据显示屏的 80%)会出现一个页面(我用许多星标表示),这取决于在右侧选择了哪个菜单。登录后右侧为空,如果用户单击菜单,则会出现特定页面。

我想使用 Struts2 来控制页面流。

你能告诉我如何开始吗?

谢谢, 五、

【问题讨论】:

  • 真的我不知道如何解释这个:) 试着看看这里的 Struts 流程。 struts.apache.org/2.1.6/docs/the-struts-2-request-flow.data/… 。我不认为这是 struts 中的基本问题,但您绝对可以逐步构建页面。
  • RoseIndia 为 struts2 提供了很好的教程。希望这有帮助。如果您仍然需要任何详细信息,请告诉我们。 roseindia.net/struts/struts2
  • 尝试按照 Umesh 的建议集成 apache-tiles。
  • 感谢 Raja 和四元数!我的 web 应用程序不会有复杂的页面,所以我只需要一个容器网页,包括标题、菜单和右面板网页,并使用 OGNL 表达式控制右侧的内容。再次感谢!

标签: jsp menu struts2


【解决方案1】:

这很可能是一个与设计和布局控制相关的问题,您在这里几乎没有什么好的选择

  1. 带有 JSP 和基于用户输入的控制视图的用户 Struts2
  2. 使用一些装饰框架,例如 Site-mesh 或 Tiles

您可以创建一个可以定义以下部分的应用程序框架或主模板

  1. 标题
  2. 顶部导航
  3. 左面板
  4. 右面板
  5. 页脚
  6. 工作区

以上所有部分都可以预定义,除了工作区可以在运行时根据您的应用程序逻辑发送视图来更改。

对我来说,Tiles 是一个不错的选择,它会以一种简单灵活的方式为您做很多事情。

【讨论】:

  • 嗨,Umesh!谢谢,这正是我需要的!我创建了一个容器网页,并在其中包含一个标题、一个左面板(菜单)和一个右面板页面。我在操作中添加了一个页面属性,并在包含标记中引用了该属性:
【解决方案2】:

我的解决方案到底:

index.jsp

<body>
   <table border="0">
      <tr>
         <td colspan="2"><s:include value="header.jspf"/></td>
      </tr>
      <tr>
         <td><s:include value="menu.jspf"/></td>
         <td><s:include value="%{page}"/></td>
      </tr>
   </table>
</body>

struts.xml

<package name="menu" extends="struts-default">
    <action name="menu_admin_freq" class="org.vhorvath.throttling.web.actions.MenuAdminFrequencyAction">
        <result name="SUCCESS">/jsp/index.jsp</result>
    </action>   
</package>

动作类

public class MenuAdminFrequencyAction extends ParentAction {
    private String page;    
    public String getPage() {
        return page;
    }
    public String execute() {
        page = "/jsp/frequency.jspf";
        return "SUCCESS";
    }
}

菜单.jspf

<table border="0">
   <tr>
      <td><b>Administration</b></td>
   </tr>
   <tr>
      <td align="left"><a href="menu_admin_freq.action">Frequency of ...</a></td>
   </tr>
</table>

【讨论】:

    【解决方案3】:

    我强烈推荐你使用 Sitemesh 作为模板生成器,非常有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多