• Category Archives: Java

解决struts2中首页默认调用index的问题

在struts 2中,通过在web-xml中配置welcome-file欢迎页面来调用action是无效的。

以前是直接在index.jsp中加上这个标签 <s:action name=”index” namespace=”/”/>, 但是这样做的话, 对应index的action中result处理就不起作用了。

经过资料整理后, 最终得出我们可以在struts-xml中的action配置中加入来实现你预期的效果。

我们可以在默认的package中加上<default-action-ref name=”action名称”/>, 如:

<package name="default" namespace="/" extends="struts-default">
    <default-action-ref name="index"/>
    <action name="index" class="web.action.IndexAction" method="index">
        <result name="success">index.jsp</result>
    </action>
</package>

还有一点不要漏掉,记得清空web.xml中的welcome-file,不然默认是会被调用index.jsp的,对于某些人来说可能会造成错误:

<welcome-file-list>
    <welcome-file></welcome-file>
</welcome-file-list>

这样即可解决这个问题。

struts2自定义404错误页面

最近服务器后台出现一些异常,问题是客户访问一个该网站下不存在的action,为了给客户一个友好的界面提示以及减小服务器端日志文件的内容。就在struts2下进行了如下配置:
在struts.xml里的package下添加:

<default-action-ref name="pagenotfound"></default-action-ref>  
<action name="pagenotfound">  
    <result>/404.jsp</result>  
</action>

 

当然struts2只会处理用户访问不存在的action,当用户访问jsp或者html时,是不会处理的。
这样还要在项目的web.xml下添加:

<package name="404" extends="struts-default">
	<default-action-ref name="notFound" />
	<action name="notFound">
		<result>/404.jsp</result>
	</action>
</package>

 

close