Struct2学习:HelloWorld
Posted wsfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struct2学习:HelloWorld相关的知识,希望对你有一定的参考价值。
项目结构:
1、用IDEA新建一个SpringBoot+Maven的项目
2、新建的项目是没有webapp、WEB-INF、与web.xml文件的,需要在下图中添加:
3、在pom.xml引入struct2
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.18</version> </dependency>
4、编写主页home.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Home</title> </head> <body> <form action="hello"> <label for="pername">Please enter your name</label> <input id="pername" type="text" name="name" /> <input type="submit" value="提交" /> </form> </body> </html>
该页面输入一个名字,通过名为hello的action,将名字显示在另一个页面。
5、定义动作HelloWorldAction.java
package com.owlforest.home.action; public class HelloWorldAction { private String name; public String excute(){ return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
6、jsp页面与动作之间需要通过WEB-INFclassesstruts.xml关联
struts.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 设置struts是否为开发模式,默认为false,测试阶段一般设为true. --> <constant name="struts.devMode" value="true" /> <package name="suibian" extends="struts-default"> <action name="hello" class="com.owlforest.home.action.HelloWorldAction" method="excute"> <result name="success">/HelloWorld.jsp</result> </action> </package> </struts>
7、编写跳转页HelloWorld.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>show name</title> </head> <body> Hello World : <s:property value="name" /> </body> </html>
需要注意的是,home.jsp、HelloWorldAction.java与HelloWorld.jsp中的name属性需要在名称上面保持一致。
form表单中的action名字与struct.xml中的action name要保持一致
这个地方在属性过多的情况下可能会出现命名冲突导致错误出现,不知道struct2是如何解决的,后续再继续学习。
以上是关于Struct2学习:HelloWorld的主要内容,如果未能解决你的问题,请参考以下文章