Этот вопрос: https://stackoverflow.com/questions/1619758/is-struts2-still-a-good-choice-of-web-framework-for-new-projects касается одного пользователя, спорящего об использовании Struts2, который может иметь отношение к другим, принимающим решение.
Ниже приведен пример Struts2, хотя в Struts есть свои собственные теги, которые сделают следующее более удобным для сопровождения. Я решил по возможности использовать простой HTML, чтобы было понятнее, как он автоматически перемещает значения в действие и затем в представление.
/ WEB-INF / содержание / hello.jsp
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<body>
<form action="hello-world">
Enter Your Name: <input type="text" name="name"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
Когда вышеприведенное представлено, для имени устанавливается следующее действие (если бы я инкапсулировал имя с помощью get / set, пример работал бы точно так же, но был бы длиннее)
package struts2;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport{
public String name;
}
тогда эта страница отображается /WEB-INF/content/hello-world.jsp
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<body>
<h1>Hello World <s:property value="name"/></h1>
</body>
</html>
Это пример Struts2 с соглашениями (один дополнительный jar на пути к классам), другие настройки не требуются.