【问题标题】:Struts2 - How to use the Struts2 Annotations?Struts2 - 如何使用 Struts2 注释?
【发布时间】:2010-05-06 11:49:47
【问题描述】:

我正在尝试在我的项目中实现 Struts 2 Annotations,但我不知道如何。

我将约定插件 v 2.1.8.1 添加到我的 pom

我修改了web.xml

...
  <init-param>
    <param-name>actionPackages</param-name>
    <param-value>org.apache.struts.helloworld.action</param-value>
  </init-param>
...

我的行动

package org.apache.struts.helloworld.action;

import org.apache.struts.helloworld.model.MessageStore;

import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;


@Results({
  @Result(name="success", location="HelloWorld.jsp")
})

public class HelloWorld extends ActionSupport {

    public String execute() throws Exception {

        messageStore = new MessageStore() ;     return SUCCESS;
    }

我尝试使用我的操作的 jsp 页面。

 <body>
<h1>Welcome To Struts 2!</h1>
<p><a href="<s:url action='helloWorld'/>">Hello World</a></p>
</body>   

当我按下与操作 helloWorld 关联的链接时,它会将我发送到完全相同的页面。因此,它从 index.jsp 发送到 index.jsp。

它的行为方式:它应该将我发送到 HelloWorld.jsp

我将项目(一个非常简单的 HelloWorld 应用程序)上传到 FileFront,也许有人看到问题出在哪里。 http://www.filefront.com/16364385/Hello_World.zip

【问题讨论】:

    标签: struts2 annotations


    【解决方案1】:

    Convention 使用不同的约定将 CamelCaseAction 名称转换为 url 和 jsp 的名称。如果您使用 Convention 的默认值,我相信您应该使用以下名称:

    ActionClass:HelloWorldAction.java

    JSP:hello-world.jsp

    动作:hello-world

    另外,请注意默认约定将在 WEB-INF/content 上查找您的 JSP。文档有点浅,你必须通过例子来理解,但你可以参考那里的所有默认值:http://struts.apache.org/2.x/docs/convention-plugin.html

    【讨论】:

      【解决方案2】:

      我还没有使用带注释的 Struts2(哪个 Struts2 版本?你在关注一些教程或文档吗?)。但不应该将 location 属性(在Result annotation 中)改为 value 吗?

      【讨论】:

        【解决方案3】:

        日志是怎么说的?您是否尝试过使用 /HelloWorld.jsp 来获得“成功”。我认为 struts 框架没有找到资源并且正在加载相同的页面。

        当您使用 /HelloWorld.jsp 时,希望您会看到结果页面。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-20
          • 2013-11-28
          • 2013-01-17
          • 1970-01-01
          • 2012-02-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多