我有一个我在struts框架中使用的JSP页面。当我使用菜单栏上的按钮浏览我的Web应用程序页面时,它会正确导航,我可以毫无问题地访问每个页面(page1.do,page2.do)。当我为其中一个页面(page1.do)添加书签并尝试转到书签时,我收到错误消息。
请求[/ adminmanagement]不包含名为directive
的处理程序参数如果我手动输入指令内容“page1.do?directive=init”,我访问该页面时没有问题。
这是我的struts-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="FileUploadForm" type="net.cmpny.cc.forms.FileUploadForm"/>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
<forward name="init" path="/page1.do?directive=init"/>
</global-forwards>
<action-mappings>
<action path="/adminmanagement"
type="net.cmpny.cc.action.Page1Action"
parameter="directive">
<forward name="admin" path="/WEB-INF/jsp/Page1.jsp" />
</action>
</action-mappings>
</struts-config>
有没有办法自动添加'directive = init'或转发到该页面?
我打算写一个过滤器,但我觉得有更好/更清洁的方法。
提前致谢!
答案 0 :(得分:4)
转发不会更改网址栏中的地址。你需要做一个重定向:
<forward name="init" path="/page1.do?directive=init" redirect="true"/>