Struts2
来源:互联网 发布:常州seo服务 编辑:程序博客网 时间:2024/06/03 23:38
Struts2
序
步骤:
- 创建 Gradle 项目
- 增加 jar 包支持:
org.apache.struts:struts2-core:2.5.11
- 配置 web.xml,让struts 拦截并处理所有来自客户端的请求
<filter> <filter-name>abc</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping> <filter-name>abc</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
- classpath 下添加 struts.xml 文件,定义变量,定义包,定义 Action
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"><struts> <!-- 开启开发模式,这样可以在 jsp 中使用 s:debug 查看变量 --> <constant name="struts.devMode" value="true" /> <!--默认的扩展名为 .action,但是我们可以定制它--> <constant name="struts.action.extension" value="html" /> <!-- 用 package 来划分各个模块,主要用来方便维护管理 --> <!-- 需要继承默认的 struts-default, 这是 struts 内置定义的一个 package, 里面预先定义了很多东西 --> <package name="default" namespace="/" extends="struts-default"> <!-- url: /emplist 由哪个类 的哪个方法 去处理, 如果请求成功,应该由哪个JSP去渲染页面 如果 result 不带 name,默认指的是 success 如果请求中有验证错误,默认返回名字为 input 的 result --> <action name="emplist" class="com.nf.empst.action.EmpAction" method="emplist"> <result>/view/emplist.jsp</result> <result name="input">/view/emplist.jsp</result> </action> </package></struts>
- 实现
Action#emplist
方法, 用来响应/emplist.action
的请求// *最好*要继承 ActionSupport,这个类定义了一些常用变量,并且简单实现了一些常用接口// 尤其它为数据验证和国际化提供了一些支持public class EmpAction extends ActionSupport { // 变量定义 // 1. 可以用来接收来自请求中的 parameter // 2. 也可以用来保存用来在 JSP 页面渲染的数据 private String name; private List<Emp> emps = new ArrayList<>(); // 本类中所有 action 方法公有的验证方法 // 如果在这个环节出错,那么相应 action 方法将不会执行 public void validate() { if(name == null || name.isEmpty()) { addFieldError("name", "姓名出错!"); // 增加错误的方法。错误有 fieldError/actionError 等类型。 } } // 格式为 validateXXX, 名字为 XXX 的 action 方法的独有验证方法 public void validateEmplist() { // 继续增加其他验证 // ... if(hasErrors()) { // 产生了某些验证错误,将不会继续执行 action 方法,而是转到 input 页面 } } // action 方法,对应 ‘/emplist.action’ 请求 public String emplist() { emps = new EmpDAO().getAll(); return SUCCESS; }}
- 实现视图层(view),即实现页面渲染,即 jsp:
<head> <!-- 用来提供一些内置的样式 --> <s:head /></head><ul> <!-- 循环迭代显示数据 --> <s:iterator value="emps" var="e" status="s"> <li>${s.index} / ${e.name} / ${e.salary}> </li> </s:iterator></ul><!-- 利用标签快速生成格式化的表单 --><s:form action="empsave"> <s:textfield name="ename" /> <s:select name="deptno" list="depts" /> <s:submit value="s" /></s:form><footer> <!-- 用来显示可用数据 --> <s:debug /></footer>
阅读全文
0 0
- Struts2
- struts2
- struts2
- Struts2
- struts2
- struts2
- Struts2
- struts2
- struts2
- struts2
- Struts2
- Struts2
- Struts2
- struts2
- struts2
- STRUTS2
- Struts2
- Struts2
- 关于mybatis中遇到的<foreach> 问题
- 分数转化为小数
- myeclipse 自动补充返回类型和变量方法(快捷键)
- PAT——1027. 打印沙漏
- Android点击返回按钮弹出确认消息对话框
- Struts2
- 1024程序员节|成为“伟大”程序员需要学会的9种“姿势”
- QUIC FEC v1
- Stetho for android
- oracle操作命令大全
- JavaWeb连数据库
- jQuery使用ajaxSubmit()提交表单
- 解决中文乱码(Util)
- maven详解-(6)聚合