![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Struts2
OVO_LQ_Start
一个弱小的菜鸟在瑟瑟发抖
展开
-
Struts2 自定义类型转换
参考:自定义类型转换转载 2020-02-11 21:04:10 · 132 阅读 · 0 评论 -
Struts2 自定义拦截器
自定义拦截器模拟Struts2自带的拦截器,看源代码即可。简单示例1.继承Interceptor接口package com.struts2.Interceptor;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;public...原创 2020-02-10 21:15:13 · 213 阅读 · 0 评论 -
Struts2 拦截器简介和在Struts2中的运行原理
简介拦截器拦截器包含两个底层原理,aop思想和责任链模式![在这里插入图片描述](https://img-blog.csdnimg.cn/20200210184959309.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L09WT19MUV...原创 2020-02-10 18:53:51 · 120 阅读 · 0 评论 -
Struts2 声明式异常处理
1.处理方式一般是把异常往外抛,然后再struts.xml文件中配置相应的全局异常。1.在service层中捕获异常并抛出。public List<Category> list() throws SQLException { Connection conn = DB.createConn(); String sql = "select * from _category";...原创 2020-02-09 17:43:39 · 145 阅读 · 0 评论 -
Struts2 定义自己得Theme
指定默认得主题在struts.xml文件中配置,使用simple主题。但是使用<s:fielderro>标签时,会强制使用默认模式,需要自己定义。<constant name="struts.ui.theme" value="simple" />css方式定义创建一个div包含<s:fielderro>,然后用css方式修改ui,li标签。......原创 2020-02-07 15:56:28 · 138 阅读 · 0 评论 -
Sturts2 struts2Tags
property标签property标签用于取得value的属性值 <li>property: <s:property value="username"/> </li> <!-- proerty标签中value中值默认解析为OGNL表达式 , 想获取为字符串则添加单引号。 -->...原创 2020-02-06 21:29:07 · 157 阅读 · 0 评论 -
Struts2 OGNL表达式
访问值栈中普通属性Ognl类中创建一个简单的属性username(设置set get方法),传入参数username=u。获取值栈中普通属性OGNL表达式<li >访问值栈中的action的普通属性: username = <s:property value="username"/> </li>访问值栈中对象创建user对象,在action中创建us...原创 2020-02-05 23:01:11 · 187 阅读 · 0 评论 -
Struts2 带参数的结果集
Redirect一次request建立一个值栈(ValueStack)。1.当时服务端跳转时,客户端发送请求,服务器找到UserAction,建立一个值栈记录传入的参数,服务端发现result是dispatcher方式,然后跳转到另一个action,可以将数据直接从值栈中取出。2.当客户端跳转时,客户端发送请求,服务端找到UserAction,建立一个值栈,将参数保存到值栈中,服务端发现re...原创 2020-02-04 21:39:53 · 154 阅读 · 0 评论 -
Struts2 DynamicResult
动态结果集1.创建一个获取动态结果集的属性设置get set方法。private String r;public String getR() { return r; } public void setR(String r) { this.r = r; }2.动态获取结果集1.设置获取结果集的方法@Override public String execute() t...原创 2020-02-04 17:19:24 · 204 阅读 · 0 评论 -
Sturts2 全局结果集与继承
全局结果集当action中都有一个相同的结果集,不需要再每一个action设置result,仅仅只需要设置一个全局的结果集即可。package name="user" extends="struts-default" namespace="/user"> <global-results> <result name="mainpage">/ma...原创 2020-02-04 16:32:02 · 134 阅读 · 0 评论 -
Struts2 ResultType
result 的类型主要有dispatcher,redirect,chain,redirectAction。用的多的是第一种dispatcher。dispatcher和redirect的区别1.dispatcher是服务器跳转。当客户端发出请求,服务器在内部找到对应的页面再发给客户端。2.redirect是客户端跳转当客户端发出请求,服务器发现url地址redirect到另外一个地...原创 2020-02-04 14:54:34 · 130 阅读 · 0 评论 -
Struts2 默认Action
Default Action当你在当前页面访问的地址错误时,会自动跳到default页面struts.xml <package name="default" extends="struts-default" namespace="/"> <default-action-ref name="index"></default-action-ref>...原创 2020-02-04 12:51:21 · 213 阅读 · 0 评论 -
Struts2 模块包含
模块包含开发项目不同的人用不同Struts2文件,然后用include标签整合在一起login.xml<struts> <package name="login" extends="struts-default" namespace="/login"> <action name="login*" class="com.bjsxt.stru...原创 2020-02-04 12:30:33 · 119 阅读 · 0 评论 -
Struts2 获取web元素
1.依赖容器主动的从容器中获取web元素。1.创建map类型的属性。2.调用ActionContxt.getContext()方法。创建的字段是map类型。所以用put方法将值加入到相应的web元素中。public class LoginAction1 extends ActionSupport{ private Map<String, Object> request; ...原创 2020-02-03 23:34:26 · 127 阅读 · 0 评论 -
Struts2 简单的数据校验
数据校验判断url传入的参数是否正确,用if语句进行判断,Struts2用addFieldError()给前台传递信息。public String add(){ if(name==null||!name.equals("admin")) { this.addFieldError("name", "name error"); return ERROR; }...原创 2020-02-03 20:06:19 · 169 阅读 · 0 评论 -
Sturts2 ModelDriven
模型驱动在model中实现ModelDriven接口,重写getModel方法,得new Model对象,Struts2不会自动帮我们new了。ActionUser类public class UserAction extends ActionSupport implements ModelDriven<User>{ private User user = new User()...原创 2020-02-03 14:54:33 · 199 阅读 · 0 评论 -
Struts2 域模型接受参数
Domain Model将url地址传过来的参数,赋给对象,然后保存在数据库中之类的,可以将实体类Model和Action分开。user类中创建name和age属性,设置get和set方法...原创 2020-02-03 14:18:06 · 188 阅读 · 0 评论 -
Struts2 Action属性接受参数
Action的属性接受参数当url传入属性值,struts2会将属性值传到Action调用set方法。创建UerAction类package com.struts2.user.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{ priv...原创 2020-02-02 22:06:23 · 126 阅读 · 0 评论 -
Struts2 通配符
通配符的使用在struts.xml文件中,用来配置action信息 <!-- 开启动态方法调用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="actions" extends="struts-default" namesp...原创 2020-02-02 21:15:33 · 210 阅读 · 0 评论 -
Struts2 动态方法调用
使用!+方法名创建add方法package com.struts2.user.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{ public String add(){ return SUCCESS; } }开启...原创 2020-02-02 20:15:38 · 326 阅读 · 0 评论 -
Struts2 路径问题
访问过程访问路径为http://localhost/day01_Struts2_2_Path/时,发现struts.xml文件没有namespace="/".<package name="path" extends="struts-default" namespace="/path"> <action name="path" class="com.struts2.p...原创 2020-02-02 18:56:44 · 173 阅读 · 0 评论 -
Struts2 Action
Action的原理Struts2 查看action配置时,当查看class属性会发出一个message给ActionAction会重新new一个对象给用户使用,而Struts1会用同一个对象让用户使用,会发生线程安全问题。Action作用具体视图的返回可以由用户自己定义的Action来决定具体的手段是根据返回的字符串找到对应的配置项,来决定视图的内容具体Action的实现可以是一个普...原创 2020-02-02 16:32:06 · 126 阅读 · 0 评论 -
Struts2 namspace命名空间
namespacenamespace决定了action的访问路径,默认为"",可以接收所有路径的actionnamespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.action.namespace最好也用模块来进行命名 <package name=...原创 2020-02-02 15:39:33 · 119 阅读 · 0 评论 -
Struts2 核心运转过程
运作过程Struts2的目的将请求和表现层分开,以便于更加灵活的操作表现层。原创 2020-02-01 23:06:40 · 105 阅读 · 0 评论 -
Struts2环境搭建以及简单测验
下载Struts直接去官网下载,这里下的是2.3版本的。创建一个web项目然后加入jar文件配置struts.xml文件和web.xml文件1.struts.xml文件的位置以及配置内容<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Softwar...原创 2020-02-01 21:51:00 · 137 阅读 · 0 评论