在做SSH2整合时遇到很多页面跳转方面的问题,现将已解决的稍作整理如下:
1. struts2中从WEB-INF下的页面直接超链接到WebRoot目录下的页面,
jsp页面中可以设置如下:
<a href="../main.jsp">HomePage</a>
在当前路径为http://127.0.0.1:8088/LYDF/department/departmentList.action,则执行超链接“HomePate”后就会跳转到http://127.0.0.1:8088/LYDF/main.jsp路径,即main.jsp页面。
当然,我们也可以用 <a href="${pageContext.request.contextPath}/main.jsp">HomePage</a>,会达到同样的效果。
2. 当希望通过点击按钮或超链接后直接跳转到一个指定页面时,页面设置可以如下:
<input type="button" onclick="location='toAdd.action'" value="添加"/>
(或<a href="toAdd.action">添加</a>
配置文件struts.xml中可以设置如下:
<package name="department" extents="struts-default">
<action name="toAdd">
<result>/WEB-INF/department/department_add.jsp</result>
</action>
...
</package>
而当你通过执行一个方法需要跳转到一个action下,如在添加页面中填写好资料后,
jsp页面代码:
<form action="addDepartment.action" method="post">
...
</form>
配置文件struts.xml中可以设置如下:
<package name="department" extents="struts-default">
<action name="departmentList" class="departmentAction" method="findAllDep">
<result name="list">/WEB-INF/department/department_list.jsp</result>
</action>
<action name="addDepartment" class="departmentAction" method="add">
<result name="input">/WEB-INF/department/department_add.jsp</result>
<result name="addSucce" type="redirect">departmentList.action</resutlt>
</action>
...
</package>