gpt4 book ai didi

java - struts.xml 中 Struts 的默认包名称是什么?

转载 作者:行者123 更新时间:2023-11-29 05:43:36 27 4
gpt4 key购买 nike

我创建了一个名为 RegesterAction 的新类,但我没有将此类保留在任何包中。如何在 struts.xml 中配置此类?

下面是 struts.xml 文件,但我无法理解属性值 "default"struts-default

<struts>
<package name="default" extends="struts-default">
<action name="*Register" method="{1}" class="RegisterAction">
<result name="populate">/register.jsp</result>
</package>
</struts>

最佳答案

Struts2 中的包与 Java 中的包略有不同,但用法是相同的,将代码分成不同的模块,使用它们自己的命名空间,因此不会与 Action 名称冲突。为了更好地理解包和命名空间的概念,您可以查看 Struts 2 Namespace configuration example and explanation教程。

如果您将类保存在源文件夹中并且它不属于包,您迟早会遇到命名新类和繁重代码管理的问题。

Struts2 框架有一个名为 struts-default 的包它包含所有必要的东西,可以通过将这个名称放入 extends 来扩展你的包,从而在你的应用程序配置中使用。你的 <package> 的属性标签。您还可以包括来自其他插件的其他 默认 包,即 json-default

只要命名空间与包名相关,你可以将Java语言使用的包名和Struts2框架中的包命名空间进行比较,你会发现它们相似,但它们是完全不同的。例如,Struts2 使用的默认 namespace 是 ""当在其他包/命名空间中找不到操作或结果名称时使用。如果您使用 namespace="/",这几乎是等效的这是应用程序的包根。

default 命名根包并不重要的 root但不是框架已经使用的名称,即 struts-default , 如果省略 namespace属性,则将使用默认命名空间。这与 Java 类似,如果省略包声明,则使用默认包。

default 的概念可能会通过其他术语传播,例如有默认操作、默认结果、默认拦截器堆栈等。该框架还利用名称 default 来表示已知接口(interface)的默认实现,等等。 default 一词没有单数含义。通常,如果您在代码中省略了某些内容,那么框架将使用它的默认设置。

关于java - struts.xml 中 Struts 的默认包名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com