【发布时间】:2009-04-24 17:27:59
【问题描述】:
我目前正在评估 Struts 2。官方文档包含一个带有以下 Java 和 JSP 代码的 HelloWorld 示例:
Java
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
public static final String MESSAGE = "Struts is up and running ...";
public String execute() throws Exception {
setMessage(MESSAGE);
return SUCCESS;
}
private String message;
public void setMessage(String message){
this.message = message;
}
public String getMessage() {
return message;
}
}
JSP
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
</body>
</html>
该示例使用以下 XML 文件来指定此操作的 URL,并将操作和视图绑定在一起
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="tutorial" extends="struts-default">
<action name="HelloWorld" class="tutorial.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>
我的问题(最后)是:这真的是 Struts2 的最新技术吗?我一直认为 XML 配置和子类化特定基类 (ActionSupport) 的必要性已被弃用。我认为注释可以用于配置。
几个更具体的问题:
- 是否需要为每种请求类型设置一个 Action 类,或者是否可以在一个 eaction 中定义多个方法,每个方法可以处理不同的请求?
- 是否有必要为您希望对视图提供的数据成员(上例中的“消息”)定义公共 getter 和 setter?
如果这是 Struts2 中的最新技术,那么它似乎对 Struts1 没有太大的改进,但我怀疑这只是一个不好的例子。
谢谢, 唐
【问题讨论】:
标签: java struts2 web-frameworks