Я сейчас evalutating Struts 2. Официальная документация содержит пример HelloWorld со следующим Java и JSP код:аннотаций в Struts 2
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) устарела. Я подумал, что вместо этого можно использовать аннотации.
Несколько более конкретные вопросы:
- Нужно иметь один класс действий для каждого типа запроса, или можно определить несколько методов в eaction, каждый из которых может работать с другой запрос ?
- Нужно ли определять публичный геттер и сеттер для членов данных, которые вы хотите сделать доступными для представления («сообщение» в примере выше)?
Если это состояние в Struts2, то это не похоже на улучшение по сравнению с Struts1, но я подозреваю, что это всего лишь плохой пример.
Спасибо, Дон
Вот ссылка на плагин конвенции: https://cwiki.apache.org/WW/convention-plugin.html Я очень рекомендую его. – Ruggs