struts2
笔记_blog
黄桃罐头,伪猿
展开
-
struts2静态参数封装
在Action类中封装一个属性,然后在struts,xml中配置param框架就可以自动将param中的值注入到Action中封装的属性上前提是这个被封装的属性必须先设置set。get方法Action类中封装的代码:public class helloAction { private String name; public String getName() { return name...原创 2018-05-09 14:02:37 · 206 阅读 · 0 评论 -
struts2的输出标签
<S:property>属性: Value:用于通过ognl表达式来取值 <s:property value="#age"/> Default:如果value值是空就给一个默认值<s:property value="#age" default="'此值为空'"/> EscapeHtml:是否被浏览器解析,默认是tr..原创 2018-05-22 21:09:36 · 759 阅读 · 0 评论 -
struts2中标签库分支循环语法详解
使用<s:iterator>标签属性:Value是从ActionContext中获取的集合key,不需要#Var:是每次从集合中取值赋值的变量使用的时候需要加#,#str 比如说需要输出这个变量:<s:iterator value="strArr" var="str"> <s:property value="#str"/></s:iterator原创 2018-05-22 18:47:52 · 373 阅读 · 0 评论 -
struts2的分支判断
首先要引入struts2的标签库<%@taglib uri="/struts-tags" prefix="s" %>If elseif else使用 test内部是ognl表达式取值<body> <s:property value="#age"/> <s:if test="#age < 16 ">原创 2018-05-22 17:26:27 · 222 阅读 · 0 评论 -
struts2的ognl表达式
OGNL是Object GraphicNavigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts2框架使用OGNL作为默认的表达式语言。作用:取值,获取javaBean中的属性,获取List或者数组元素,获得map的键值对,还可以执行逻辑运算。要求:我们必须把ognl表达式写在struts的标签中。使用ognl需要先引入struts标签库<%@ tagl...原创 2018-05-22 10:33:13 · 110 阅读 · 0 评论 -
使用struts2来下载文件
....原创 2018-05-21 21:37:19 · 137 阅读 · 0 评论 -
struts2多文件上传
相比单文件上传,多文件上传只需要在private各种属性的时候,定义成数组然后在上传的时候使用循环来循环上传package com.rl.action;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream...原创 2018-05-21 17:53:33 · 200 阅读 · 1 评论 -
struts2文件上传
在文件的上传中,主要是验证文件的类型即后缀和文件的大小只需要在struts.xml中配置一下就可以了代码:<interceptor-ref name="defaultStack"> <param name="fileUpload.allowedExtensions">.png,.txt,.jar</param> </interceptor-r...原创 2018-05-21 17:39:07 · 174 阅读 · 0 评论 -
如何使用struts2上传文件
1.单文件上传上传文件对表单的要求:1. 表单要使用post方式提交2. 表单的enctype是multipart/form-data3. 表单中要有file类型的input文本域Struts上传也是基于拦截器,底层还是使用commons-fileupload组件Struts上传的步骤(1) 建立表单<form action="${pageContext.request.con...原创 2018-05-21 16:17:27 · 161 阅读 · 0 评论 -
struts2的运行流程
1.启动服务,加载web.xml实例化StrutsPrepareAndExecuteFilter过滤器2.在实例化StrutsPrepareAndExecuteFilter的时候会执行过滤器中的init方法加载struts.xml3.浏览器发起请求,会被StrutsPrepareAndExecuteFilter拦截到,根据请求的uri(hello)找到相应的Action类,并且创建Action对象...原创 2018-05-07 21:08:27 · 172 阅读 · 0 评论 -
struts2的第一个例子
示例:struts2-blank.war步骤:1.创建web工程:Dynamic Web project2.导入jar包:从示例工程中lib中直接拷贝,。。。u struts2-core-2.3.1.1.jar:Struts 2框架的核心类库u xwork-core-2.3.1.1.jar:Command模式框架,WebWork和Struts2都基于xwork u ognl...原创 2018-05-07 20:06:04 · 151 阅读 · 0 评论 -
拦截器动作类排除
有些动作类不需要设置拦截器,那么就要排除使用这个拦截器,如果某一个拦截器需要被排除使用,那么这个拦截器创建的时候,就不能继承AbstractInterceptor而是继承:MethodFilterInterceptor代码:package com.rl.intereptor;import com.opensymphony.xwork2.ActionInvocation;import com....原创 2018-05-12 16:10:41 · 454 阅读 · 0 评论 -
定义自己的拦截器------.[核心组件拦截器底层揭秘-01]
如何配置自己的拦截器所有的拦截器都是继承【虚拟类】AbstractInterceptor虚拟类AbstractInterceptor实现接口:Interceptor所以,自定义拦截器的时候,第一步需要继承虚拟类AbstractInterceptor创建拦截器类:public class Myinterceptor extends AbstractInterceptor { @Override...原创 2018-05-12 15:42:32 · 206 阅读 · 0 评论 -
struts2校验参数
1.编程校验:在Action类中重写父类的validate方法,在这个方法中对每一个字段来做校验,但是校验的前提是提交过来的参数是能相互转换的,如果转换不了的话会由param,modelDriven拦截器来负责。如果参数不符合正则,我们可以添加提示信息addFieldError("id","id必须是1到5位的数字")代码简单:@Override public void validate() {...原创 2018-05-11 14:47:36 · 248 阅读 · 0 评论 -
struts2参数类型转换
页面所提交过来的数据都是字符串的类型,而model里面的数据类型并不都是字符串,有各种各样的类型int ,Integer,float,String,date…,我们使用servlet来接收数据时都是自己手动转换,struts2可以为我们自动转换,转换的前提是前台提交的字符串和model中的相应的数据类型可以转换。提交表单时:字符串-------à其他类型页面展示:其他类型--------à字符串表...原创 2018-05-10 10:57:42 · 126 阅读 · 0 评论 -
动态参数的封装
1.动作类充当模型对象:意义:可以直接接受表单中提交过来的值,不需要自己单独设置request.getParameter()这些Action类在MVC中动作类充当C层,但是现在要把模型和动作类结合为一体,直接在动作类中定义要接受的属性,每个属性需要设置set、get、方法并且,在表单中设置属性时他们的name要和Action类中属性的名字一样。Action类代码:public class Pers...原创 2018-05-09 15:03:11 · 488 阅读 · 0 评论 -
struts2标签库动态包含标签
<s:action>属性:Name:要请求的ActionExecuteResult:是否展示Action的执行结果,true是展示,false不展示步骤:新建一个action 然后在actioncontext中put一个结果然后在第一个success.jsp中使用<s:action name="hello1" 然后> <s:action name="hello" e...原创 2018-05-22 21:18:48 · 423 阅读 · 0 评论