跟servlet很相似,servlet是在web.xml里面配置,在XXXservlet类里写具体实现-----取调转
Struts2 是在 web.xml声明核心过滤器,具体的配置写在struts.xml里面,而具体实现写在action类里面,套路差不多,只是要注意写业务逻辑代码
添加jar包
引入Struts标签库
<%@taglib prefix="s" uri="/struts-tags" %>
<!-- struts2 核心过滤器 --> <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>*.action</url-pattern> </filter-mapping>
1、struts2可以在action中自动获得从页面传过来的值,前提是页面的传值的名称要在action类里面先声明变量,添加set、get方法。set是获得页面传的值,get是输出到页面显示。
2、调用action类里的方法
页面跳转地址: action = userAction!login.action
Web.xml里面配过滤器
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
页面跳转地址: action = loginAction!Login
在struts.xml里面
<action name="*Action" class="action.UserAction"method=”{1}”>
<resultname="success">/{1}_list.jsp</result>
</action>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml"/> <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> <package name="user" namespace="/" extends="struts-default"> <action name="userAction" class="action.UserAction"> <result name="loginError">/login.jsp</result> <result name="success">/list.jsp</result> <result name="update">/update.jsp</result> </action> </package> </struts>
<s:formaction="userAction!insert.action"method="post">
<s:textfieldname="user.username"label="用户名"></s:textfield>
<s:textfieldname="user.userpassword"label="用户密码"></s:textfield>
<s:selectlist="groupList"label="部门"
listKey="id"listValue="groupname"
name="group.id">
</s:select>
<!-- select标签传值貌似不能直接传对象,我是传了对象的ID值过去在根据ID值查到这个对象在处理 -->
<s:checkboxlistlist="roleList"label="角色"
listKey="id"listValue="rolename"
name="roleListArray"value="role" >
</s:checkboxlist>
<!-- s:checkboxlist 传过去的是一个数组,数组的值默认是listKey的值 -->
<s:submitvalue="submit"align="right"></s:submit>
</s:form>
原文:https://www.cnblogs.com/sangong/p/10809849.html