比如csdn上的csdn首页,资讯,论坛,在每个页面上都有。不会在每个action中写上方法然后跳转的吧,那样好多重复性的代码,有没有解决的方法啊?
解决方案 »
- 浅谈java操作cookie
- 如何用extjs框架向数据库请求数据,并用Ext.grid.GridPanel控件显示出来?
- Struts 1.x validation 问题
- url地址 重写之后过滤器不能过滤 .html 结尾的请求
- 大家来谈谈如何学习好JAVA, 要背一些类及方法吗?
- 请问哪有孙卫琴的《精通struts:基于mvc的java web设计与开发》下载啊
- 亲人呐!MDB怎么不运行? 100分不够再加!
- jdk1.5 中的StringBuffer类
- 关于李维〈EJB开发实战录1,2,3,4〉的源码下载
- 初学者所碰到的javamail问题~~~~~~~~
- 如何替换String字符串里面的中文括号为英文括号,比如将"万达购物中心(室内)" 替换为"万达购物中心(室内)";
- 数据库问题
页面是分块,用模板来动态生成页面,公用的导航链接可以一起放在模板里,或者一个独立的模块里。
可以看看freeer,tiles之类的框架
<img src="${list.image }" />
</div>
<div class="fs_products_nva">
<ul>
<li><a href="show_ptpro.do?id=${list.id }">专利产品</a></li>
<li><a href="show_introduction.do?id=${list.secondtype.id }">专利介绍</a></li>
<li><a href="show_Certificate.do?id=${list.secondtype.id }">专利证书</a></li>
<li><a href="show_media.do?id=${list.secondtype.id }">媒体关注</a></li>
</ul>
</div>
</c:forEach>
</div>
每个页面都是这样的,都是根据ID跳的,都是根据LIST这个方法跳的
struts2 其实可以分为 准备 组装 执行 的
其中的组装就是可以把你的页头页尾等公用的页面 可以嵌入 组装好新页面 再显示的。
大概是这样配置、 具体怎么配置你还是百度google吧
web.xml <!--加载struts2前端处理器.filter顺序固定 -->
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<!--sitemesh in the middle and after struts-prepare -->
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
stemesh.xml<?xml version="1.0" encoding="UTF-8"?>
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml"/>
<excludes file="${decorators-file}"/>
<page-parsers>
<parser default="true"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
<parser content-type="text/html"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
<parser content-type="text/html;charset=UTF-8"
class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
</page-parsers> <decorator-mappers>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}"/>
</mapper>
</decorator-mappers>
</sitemesh>decorators.xml
<decorator name="sundries" page="/view/layout/frontpage/sundries/html/main.jsp">
<pattern>*/view/sundries/feedback/*.action**</pattern>
</decorator>
装饰的东西在page="/view/layout/frontpage/sundries/html/main.jsp" 里
可以装饰你想装饰的地方、可以是页头、页尾、导航、...等等你想重用的、
装饰完事才在跳到你struts.xml指定的jsp页面
谢谢,这个我会去学习的。其实还有个简单的方法就是在action中实现ApplicationAware