java-如果我在项目中包含多个struts配置文件,流程顺序是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如果我在项目中包含多个struts配置文件,流程顺序是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2234字,纯文字阅读大概需要4分钟。
内容图文
![java-如果我在项目中包含多个struts配置文件,流程顺序是什么](/upload/InfoBanner/zyjiaocheng/661/4cf10da6327140cd9fa0e7e887f062ed.jpg)
我正在使用Struts2.以下是我的动作类(TutorialAction).
public class TutorialAction {
public String execute() {
System.out.println("Hello from Execute!");
return "failure";
}
}
我在此Action类的execute方法中返回“失败”.
以下是我的2个struts配置文件:
======================== struts.xml ======================== =========
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/tutorials" extends="struts-default">
<action name="getTutorial" class="com.tushar.action.TutorialAction">
<result name="failure">/ErrorPage.jsp</result>
</action>
</package>
<include file="struts2.xml"></include>
</struts>
在上面的配置文件中,我包括用于相同名称空间的另一个struts配置文件(struts2.xml):
======================== struts2.xml ======================== =========
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/tutorials" extends="struts-default">
<action name="getTutorial" class="com.tushar.action.TutorialAction">
<result name="failure">/SuccessPage.jsp</result>
</action>
</package>
</struts>
我的项目运行正常.我只是想知道struts.xml中包含的文件(struts2.xml)是在主struts.xml之后还是之前运行?
或输出是什么:/SuccessPage.jsp或/ErrorPage.jsp?
解决方法:
在应用程序启动时已解析xml文档之后,才构建Struts配置.然后,它使用配置属性将动作映射到它们的名称空间下.此映射是通过迭代所有也是映射的包创建的.如果其他程序包中具有相同的名称空间,则最后一个将覆盖先前的映射.您应该知道,迭代地图并不能保证所检索元素的顺序.参见HashMap.
因此,不能保证创建名称空间映射的顺序,并且名称空间将仅包含迭代器最后一次执行的操作.当Struts2从解析URL后创建的动作映射(在创建动作代理时)获取动作配置时,将使用名称空间到动作的映射.然后,如果找到这样的操作配置,它将继续.结果将映射到操作,并且没有相同名称的结果.
希望它很容易理解.如果您具有相同的名称空间,相同的操作名称以及相同的程序包名称(我怀疑这是不可能的),则将无法使用这种配置,并且可能导致无法预测的结果.这对于创建包的顺序并不重要.请注意,如果您的案例中缺少软件包之间的依赖关系,则顺序很重要.
内容总结
以上是互联网集市为您收集整理的java-如果我在项目中包含多个struts配置文件,流程顺序是什么全部内容,希望文章能够帮你解决java-如果我在项目中包含多个struts配置文件,流程顺序是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。