2011-09-02 104 views
2

我在struts框架内使用了一个JSP页面。当我使用菜单栏上的按钮浏览我的网页应用程序的页面时,它正确导航,我可以毫无问题地访问每个页面(page1.do,page2.do)。当我为其中一个页面(page1.do)添加书签并尝试去书签时,出现错误。无法为JSP页面添加书签

请求[/ adminmanagement]不包含处理器参数命名指令

如果我手动键入指令东西“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> 

有没有自动添加“指令= init”,或者转发到该网页的一种方式?

我打算写一个过滤器,但我觉得有一个更好/更干净的方法来做到这一点。

在此先感谢!

+0

struts是可怕的,GWT透明地处理这样的东西。 –

+0

@Jarrod Roberson - 我认为GWT的struts不是一个公平的比较。 Struts框架可以简化servlet,而GWT则涉及Ajax实现。 – CoolBeans

+0

您不会为JSP页面添加书签(在Struts中),您会为与“.do”URL对应的url请求添加书签。 JPS用于显示结果。我不挑剔,理解这一点很重要。 – leonbloy

回答

4

转发不会更改URL栏中的地址。你需要做一个重定向:

<forward name="init" path="/page1.do?directive=init" redirect="true"/>