Java 如果删除struts2.action扩展名,为什么欢迎文件列表不起作用?
如果删除Struts2应用程序中的Java 如果删除struts2.action扩展名,为什么欢迎文件列表不起作用?,java,struts2,action-mapping,Java,Struts2,Action Mapping,如果删除Struts2应用程序中的.action扩展,我会遇到问题。我把它放在我的struts.xml中: <constant name="struts.action.extension" value="" /> 当我访问http://localhost/myApp/,我得到以下错误: There is no Action mapped for namespace [/] and action name [index.jsp] associated with co
.action
扩展,我会遇到问题。我把它放在我的struts.xml
中:
<constant
name="struts.action.extension"
value="" />
当我访问http://localhost/myApp/
,我得到以下错误:
There is no Action mapped for namespace [/] and
action name [index.jsp] associated with context path [/myApp].
- [unknown location]
但是如果我访问http://localhost/myApp/fooAction
,我没有收到任何错误,工作正常
如果将扩展名更改为非空扩展名(如“html”
),则如果访问http://localhost/myApp/
那么,我所做的有什么不对吗?为什么删除扩展时会出现此错误?有没有可能不得到它的方法
编辑:如果我在
中执行操作,错误如下:
There is no Action mapped for namespace [/] and action name []
associated with context path [/myApp].
我在一个应用程序中遇到了同样的问题,我需要在页面加载上调用一个操作来代替
中的index.jsp
或welcom.jsp
将以下条目放置在my web.xml中
<welcome-file-list>
<welcome-file>index</welcome-file>
</welcome-file-list>
因此,在这种情况下,当我点击这个URL
www.myapp.com/myapp
,它的调用索引动作是Struts2,我能够为我的欢迎页面做所有初始化工作。我也遇到了同样的问题,但问题已经解决了如果你使用
<constant name="struts.action.extension" value=""/>
在struts.xml中然后将欢迎文件作为
<welcome-file>index.jsp</welcome-file>
index.jsp
在web.xml中并在struts.xml中给出如下操作
<package name="default" extends="struts-default">
<action name="index.jsp">
<result>WEB-INF/login.jsp</result>
</action>
</package>
WEB-INF/login.jsp
尝试索引
我相信S2过滤器将其视为一个操作。我记得我在希望
作为我的操作的地方遇到了相同的问题,我从列表中删除了扩展名.jsp
,并创建了一个空文件名索引
我在
中用一个操作证明了这一点,但因为我在这里读到我不能直接这么做()我没有放在这里。我得到了一个不同的错误,我将把它放在问题中。@Pigueiras:这是你们都需要做的,1) 在您的web应用程序中创建一个空文件,即索引
,然后您需要在struts文件中定义一个映射,如
,希望我足够清楚。添加注释的另一点是,请标记人员姓名,否则该人员将不会收到有关您的任何通知comment@UmeshAwasthi对不起,我总是忘记这件事。把它作为一个答案,我会标记它,非常感谢!
<welcome-file>index.jsp</welcome-file>
<package name="default" extends="struts-default">
<action name="index.jsp">
<result>WEB-INF/login.jsp</result>
</action>
</package>