0

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

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

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

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

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

你能给我一些想法如何开始吗?

谢谢,V。

4

3 回答 3

1

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

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

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

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

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

对我来说,Tiles 是一个很好的方法,它会以一种简单灵活的方式为你做很多事情。

于 2013-01-24T15:57:35.977 回答
0

我最后的解决方案:

索引.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>
于 2013-01-25T10:26:27.500 回答
0

我强烈建议您使用 Sitemesh 作为模板生成器,非常有用

于 2014-12-11T23:37:01.273 回答