【问题标题】:How to remove '.do' prefix from url in Struts1?如何从 Struts1 中的 url 中删除“.do”前缀?
【发布时间】:2014-07-30 08:42:47
【问题描述】:

我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但当用户被转发到显示为actionname.do 的下一页 URL 时提交表单。我不希望 URL 上有这个 Struts 1 默认后缀。而不是它,我想在 URL 中看到页面的名称。怎么做?

注意:我尝试在web.xml 中编辑servlet 映射。已替换 /*.do 。但在那种情况下,连我的索引页都打不开。

【问题讨论】:

    标签: java jakarta-ee struts struts-1


    【解决方案1】:

    在您的 web.xml 中,将 url 模式 *.do 替换为 /

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    【讨论】:

    • 这从 url 中删除了 .do 但我想显示该页面名称,在哪个用户上被转发。在这种情况下,它在 url 中显示 actioname
    【解决方案2】:
    1. 打开/WEB-INF/web.xml
    2. 您必须找到org.apache.struts.action.ActionServlet 的servlet-name 和与servlet-name 对应的servlet-mapping。

    例如:

    <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    

    最后,只需将 url-pattern 更改为您想要的并重新部署应用程序。

    【讨论】:

    • 我试过了,我已经相应地编辑了问题:)
    • 你能试试&lt;url-mapping&gt;/&lt;url-mapping&gt;吗?
    • 这从 url 中删除了 .do 但我想显示该页面名称,在哪个用户上被转发。在这种情况下,它在 url 中显示 actioname
    【解决方案3】:

    在web.xml中修改并更改*.do

    <servlet-mapping>
      <servlet-name>myapp</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    

    【讨论】:

    • 我试过了,我已经相应地编辑了问题
    【解决方案4】:

    你可以使用这个映射

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>/c/*</url-pattern>
    </servlet-mapping>
    

    然后使用Tuckey URL rewriter 规则将其更改为/*

    <rule>
      <from>^/(\w+)*/$</from>
      <to>/c/$1</to>
    </rule>
    

    【讨论】:

    • 它似乎对我有用,但我有一个问题,这将在过滤器中配置,对吧?因此,只要控制转到操作类,url 就会更改为 home.jsp(我认为下一页是应该打开的 login.jsp)。如果发生错误并且将打开的下一页将是显示错误.jsp?因为它将显示 home.jsp
    • 不清楚你在问什么,你能发帖struts-config.xml吗?
    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 2020-03-31
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 2016-06-07
    • 1970-01-01
    相关资源
    最近更新 更多