我们接下来通过button按钮进行提交的例子来让我们更好的了解struts2的搭建的过程:
第一步:我们新建一个普通的javaweb项目;
第二步:建视图层,就是我们的前端页面
<body>
<form action="a1" method="post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="sex"/>
<input type="button" value="提交"/>
</form>
</body>
这里我们将要用到JS代码判断用户名和密码的格式是否正确(正则表达式进行验证),只有正确才能提交
这里面用到了js中blur的方法 失去焦点的时候就会执行判断语句,最后通过boolean类型的判断进行提交操作
<script type="text/javascript" src="Js/jquery-3.3.1.js">
$(function(){
var nameFlag = false;
var sexFlag = false;
//对用户名进行判断
$("input[name='name']").bind("blur",function(){
var name = $(this).val();
var nameReg=/^[a-z0-9_-]{3,6}$/;
if(nameReg.test(name)){
nameFlag=true;
}else{
nameFlag = false;
alert("您输入的用户名不符合要求!")
}
});
//对密码进行判断
$("input[name='sex']").bind("blur",function(){
var sex = $(this).val();
var sexReg=/^[\u4e00-\u9fa5]{1,2}$/;
if(sexReg.test(sex)){
sexFlag = true;
}else{
sexFlag = false;
alert("您输入的密码不符合要求!")
}
});
//对button进行点击提交事件
$("input:eq(2)").bind("click",function(){
if(nameFlag && sexFlag){
$("form:first").submit();
}
});
});
</script>
第三步:新建一个控制层 一个公共类 进行JavaBean的封装操作;里面用get,set方法获取和创建属性值
public class RegisterAction {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String execute(){
return "success";
}
}
第四步:在WEB-INFO里面的lib里添加我们所需要用的jar包,可以去Apache的官网里面下载 ;jar包添加进去之后需要全选右击选中BuildPath的AddBulidPath进行解析
第五步:在web.xml里面配置过滤器
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>StrutsProject</display-name>
<welcome-file-list>
<welcome-file>register.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
里面的filter-class的内容通过下面的图片来找路径
第六步:在src下新建一个请求分发的配置文件 struts.xml
1.这里面的action的name一定要跟视图层form表单中action名字一样 class一定要把控制层的架包名字还有类名字写准确
里面默认调用控制层里的excute方法。
<?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">
<package name="default" namespace="/" extends="struts-default">
<action name ="a1" class="com.hnpi.action.RegisterAction">
<result name="success">/index.jsp</result>
</action>
</package>
2.result里面的success跟控制层的excute方法一样 通过获取登录页面的用户名跟密码给index.jsp赋值,让用户名和密码成功写进index.jsp页面中。
<body>
${requestScore.name};
${requestScore.sex};
</body>
这个时候例子整体已经完成了,struts2框架的创建已经完成了。