gpt4 book ai didi

java - struts2 约定插件无法正常工作

转载 作者:搜寻专家 更新时间:2023-11-01 03:08:02 25 4
gpt4 key购买 nike

我尝试使用约定插件 Struts2 运行该应用程序。该应用程序使用 struts.xml 配置正常:

<struts>

<package name="struts2demo" extends="struts-default">
<action name="hey" class="action.CountryAction" method="get">
<result name="success">/index.jsp</result>
</action>
<action name="add" class="action.CountryAction" method="add">
<result type="redirect" name="success">hey</result>
</action>
<!-- Add your actions here -->
</package>

</struts>

现在我删除了 struts.xml 并添加了一些这样的注释:

@Namespace("/")
@ResultPath(value="/")
public class CountryAction extends ActionSupport implements ModelDriven<Country>{
private List<Country> worldCountry;
private Country country = new Country();



public Country getCountry() {
return country;
}

public void setCountry(Country country) {
this.country = country;
}

// HttpServletRequest request;
@Action(value="/hey",results={@Result(name="success",location="/index.jsp")})
public String get() throws SQLException
{
CountryService cs = new CountryService();
setWorldCountry(cs.getCountry());
// System.out.println(getWorldCountry());
return SUCCESS;
}

public List<Country> getWorldCountry() {
return worldCountry;
}

public void setWorldCountry(List<Country> worldCountry) {
this.worldCountry = worldCountry;
}

@Override
public Country getModel() {
return country;
}
}

但是当我尝试运行该应用程序时出现以下错误:

消息:

There is no Action mapped for namespace [/] and action name [hey] associated with context path [/JustStruts2].

我的 web.xml 是这样的:

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.devMode</param-name>
<param-value>true</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

如果我做错了,任何帮助将不胜感激。
问候。

最佳答案

根据消息,Struts 通知您 [hey] 在您的操作配置中找不到。在 struts.xml 中,您定义它时没有使用斜线。在注释中做同样的事情。不要映射可以由容器本身处理但不能由 Struts2 处理的 index.jsp。默认使用名称“success”,因此没有必要。

@Action(value="hey", results = { @Result(location="/page.jsp") })

请注意,@ResultPath 不是必需的。

关于java - struts2 约定插件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15828845/

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