struts2.xml - 不能包含其他 .xml 文件

发布于 2024-07-17 09:33:24 字数 1492 浏览 5 评论 0原文

我正在使用 struts2,因为我的 struts.xml 文件包含如下代码:

<?xml version="1.0" encoding="UTF-8" ?>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<include file="strutsAuthentication.xml"/>

<package name="default" extends="struts-default">
    <interceptors>
        <interceptor-stack name="crudStack">
            <interceptor-ref name="checkbox" />
            <interceptor-ref name="params" />
            <interceptor-ref name="static-params" />
            <interceptor-ref name="defaultStack" />
        </interceptor-stack>
    </interceptors>
</package>

我已经在 strutsAuthentication.xml 中指定了所有必需的操作。 该代码是:

<struts>
<package name="authentication" extends="default" namespace="/authentication">
    <action name="saveCountry" class="saveCountryAction">
        <interceptor-ref name="defaultStack" />
        <result name="success">/savecountry.jsp</result>
        <result name="error">/error.jsp</result>
    </action>

</package>

当我将应用程序部署到 tomcat 中时,它向我发出警告:

警告 (org.apache.struts2.components.Form:308) - 未找到指定操作的配置:命名空间中的“saveCountry”:“”。 表单操作默认为“action”属性的文字值。

这意味着struts.xml不能包含strutsAuthentication.xml。 有人有解决办法吗?? 提前谢谢....

I am using struts2, for that my struts.xml file contains code like :

<?xml version="1.0" encoding="UTF-8" ?>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<include file="strutsAuthentication.xml"/>

<package name="default" extends="struts-default">
    <interceptors>
        <interceptor-stack name="crudStack">
            <interceptor-ref name="checkbox" />
            <interceptor-ref name="params" />
            <interceptor-ref name="static-params" />
            <interceptor-ref name="defaultStack" />
        </interceptor-stack>
    </interceptors>
</package>

And i have specified all the required actions inside the strutsAuthentication.xml. That code is :

<struts>
<package name="authentication" extends="default" namespace="/authentication">
    <action name="saveCountry" class="saveCountryAction">
        <interceptor-ref name="defaultStack" />
        <result name="success">/savecountry.jsp</result>
        <result name="error">/error.jsp</result>
    </action>

</package>

When i am deploying my application into tomcat, it gives me warning that :

WARN (org.apache.struts2.components.Form:308) - No configuration found for the specified action: 'saveCountry' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

It means struts.xml can't include strutsAuthentication.xml. Anyone have a solution ?? Thanx in advance....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凯凯我们等你回来 2024-07-24 09:33:24

得到了解决方案......对于上述问题,我在从 jsp 页面调用操作时犯了一个错误。 因此,在调用操作类时应包含命名空间名称“authentication”。 最终解决方案是:“authentication/saveCountry.action”。

Got d solution.... For above problem i was done a mistake in calling the action from jsp page. So namespace name "authentication" should be included at the time of calling the action class. Final solution is : "authentication/saveCountry.action".

江湖正好 2024-07-24 09:33:24

我不知道您使用的是哪个版本的 struts2,但如果您使用的是 2.1.x 分支,您应该查看约定插件 http://cwiki.apache.org/S2PLUGINS/convention-plugin.html。 您可以摆脱 99% 的 XML 配置。

I don't know what version of struts2 you're using but if you're using the 2.1.x branch you should look at the convention plugin http://cwiki.apache.org/S2PLUGINS/convention-plugin.html. You can get rid of 99% XML configuration.

阳光下的泡沫是彩色的 2024-07-24 09:33:24

作为补充说明。 我们永远不应该在 JSP 页面中使用“xyz.action”。 如果我们稍后需要或决定将 url 模式从 .action 更改为 .do 或 .html 等。我们必须更改所有 JSP 页面。 撰写链接的更好方法是:

<a href="<s:url namespace="nsname" action="actionName" method="methodName"/>">Link Text</a>

As an add note. We should never use "xyz.action" in JSP pages. If we later need or decide to change the url-pattern from .action to .do or .html etc. We have to change all JSP pages. A better approach to compose links is:

<a href="<s:url namespace="nsname" action="actionName" method="methodName"/>">Link Text</a>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文