
struts2
文章平均质量分 54
struts2笔记
请你打开电视看看
这个作者很懒,什么都没留下…
展开
-
防止表单重复提交
使用session解决在session中存储验证 当验证码验证过后 将session中的验证码删除Struts表单提交解决方案使用重定向在action配置中 result type设置为redirect<result type="redirect">/success.jsp</result>使用<s:token/>生成令牌配合token拦截器这种方式差生错误后才会告知用户 一般不用<action name="register" class="org原创 2021-02-05 13:35:35 · 106 阅读 · 0 评论 -
Struts默认主题
默认主题的名称是XHTML,都是在struts的默认属性文件中定义着:default.properties取消使用默认主题1,在标签中设置 加入theme属性 设置为simple<s:form action="register" theme="simple" namespace="/user" enctype="multipart/form-data"> <s:file name="photo" label="头像1" ></s:file> <原创 2021-02-05 13:07:36 · 100 阅读 · 0 评论 -
Struts的一些标签
s:setvalue:存入map中的值,是一个OGNL表达式 var:存在map中的key scope:存储的范围application session request page和action不写scope,默认是action,它是在contextMap中和request存一份(action page request application session)<s:set value="'LIANG'" var="username" scope="action"></s:se原创 2021-02-05 12:01:42 · 118 阅读 · 0 评论 -
Struts标签和OGNL配合使用
iterator 标签使用<s:iterator/>标签遍历列表1,在Action中声明list对象 生成getset方法package org.ccit.com.web.action;import com.opensymphony.xwork2.ActionSupport;import org.ccit.com.domain.Student;import java.util.ArrayList;import java.util.List;/** * @program:原创 2021-02-04 20:33:24 · 115 阅读 · 0 评论 -
valueStack方法(存取)
setValue方法该方法在对象存在时 会重置,不存在时会生成新对象提供getset方法向valueStack存储数:valueStack.setValue(“username”,“LIANG”);向contextMap中存储数据:valueStack.setValue("#username",“LIANG”);package org.ccit.com.web.action;import com.opensymphony.xwork2.ActionContext;import com原创 2021-02-04 16:44:46 · 197 阅读 · 0 评论 -
初识ActionContext
动作类是多例的,每次动作访问,动作类都会实例化。所以是线程安全的。在每次动作执行前,核心控制器StrutsPrepareAndExecuteFilter都会创建一个ActionContext和ValueStack对象。且每次动作访问都会创建。这两个对象存储了整个动作访问期间用到的数据。并且把数据绑定到了线程局部变量(ThreadLocal)上了。所以是线程安全的。contextMap使用 struts内置标签 <s:debug> 查看contextMap数据利用ActionCo.原创 2021-02-02 16:38:02 · 248 阅读 · 0 评论 -
OGNL表达式
OGNL 对象图导航语言Struts2使用OGNL作为默认的表达式语言,配合Struts标签库使用 从作用域中取数据作用取值输出数据导jsp页面 (不加单引号 会从作用域取值 添加单引号 代表字符串)调用方法访问静态属性 方法 默认情况下struts的静态属性访问在default.properties中设定禁止 struts.ognl.allowStaticMethodAccess=false 可在strut.xml中更改 <%-- @program: struts2_06原创 2021-02-01 13:23:14 · 152 阅读 · 0 评论 -
Struts2文件下载
编写Action类 提供输入流import com.opensymphony.xwork2.ActionSupport;import java.io.*;import java.net.URLEncoder;/** * @program: struts2_06 * @description * @author: LIANG * @create: 2021-02-01 11:16 **/public class DownloadAction extends ActionSupport {原创 2021-02-01 12:01:18 · 83 阅读 · 0 评论 -
Struts2上传文件的一些配置
限制上传文件大小在default.xml中 文件上传大小默认设置为2Mstruts.multipart.maxSize=2097152报错:Request exceeded allowed size limit! Max size allowed is: 209,715,2 but request was: 641,743,1!在struts.xml更改文件上传大小<!-- 设置上传文件最大值 20M--><constant name="struts.multipart原创 2021-01-29 14:51:45 · 536 阅读 · 0 评论 -
Struts2文件上传
使用Struts提供内置<s:file> 上传文件编写封装类package org.ccit.com.domain;import java.io.File;import java.util.Date;/** * @program: struts2_03 * @description * @author: LIANG * @create: 2021-01-22 12:43 **/public class User { private String username原创 2021-01-29 13:48:33 · 108 阅读 · 1 评论 -
拦截器问题优化
自己不编写拦截器 struts在struts-default.xml(struts2-core-2.5.26.jar!\struts-default.xml)配置了默认的拦截器 <default-interceptor-ref name="defaultStack"/>如果自定义了拦截器 默认的拦截器就不再起作用struts编写的默认拦截器里边的很多功能不再使用解决方案:1,把默认拦截器添加到配置中在action中添加默认的拦截器例:<action name="stude原创 2021-01-26 21:35:49 · 161 阅读 · 0 评论 -
登陆验证拦截器
struts.xml配置三个acion:login,Student,Teacher在U1 package中配置自定义的登陆验证拦截器<interceptors> <interceptor name="checklogin" class="org.ccit.com.web.intercept.checkLoginInterceptor"></interceptor></interceptors>在U1 package中配置一个全局视图 用于验原创 2021-01-26 20:52:38 · 180 阅读 · 1 评论 -
Struts拦截器
Struts拦截器Struts2中的很多功能都是由拦截器完成的。比如:servletConfig,staticParam,params,modelDriven等等。Struts默认的拦截器配置在struts-default.xml文件中拦截器是AOP编程思想的一种应用形式。单个拦截器创建拦截器 继承Abastract方法 实现intercept方法package org.ccit.com.web.intercept;import com.opensymphony.xwork2.Acti原创 2021-01-26 18:40:42 · 108 阅读 · 1 评论 -
国际化资源文件
不适用Struct2内置的方式配置资源文件1,在创建后缀为_语言_国家.properties文件(message_en_US.properties,message_zh_CN.properties)register.username=用户名register.password=密码register.submit=注册2,使用java提供的ResourceBundle类可以读取资源包的国际化配置文件public class I18NTest { @Test public void原创 2021-01-26 15:48:29 · 430 阅读 · 0 评论 -
Struts2 Action验证比表单
1,action中重写 validate方法action继承ActionSuppott 重写 validate方法(全局的)action中所有方法都要经过该方法中的验证才能执行 /** * @Description: 重写validate方法(strut2自带表单验证) 验证表单数据 * @return: void * @Author: LIANG * @Date: 2021/1/24 13:22 */ @Override public原创 2021-01-24 14:18:59 · 145 阅读 · 0 评论 -
struts2错误回显中文显示
不使用是struts内置的表单可以在form表单前加<s:fielderror></s:fielderror>使用内置表单不需要加 自动显示使报错信息变红head标签中 添加<s:head></s:head>中文显示在封装类同一目录下创建与类名相同的properties文件注:把properties文件改为...原创 2021-01-23 15:25:48 · 116 阅读 · 0 评论 -
Struts2内置表单
strut2内置表单1,需要导入struts标签库 基本与form表单相同<%@ taglib prefix="s" uri="/struts-tags" %2,action中不需要写项目名 struts2会自动添加<%@ page contentType="text/html;charset=UTF-8" language="java" %><%--导入struts标签库--%><%@ taglib prefix="s" uri="/struts-tags原创 2021-01-23 14:37:32 · 166 阅读 · 0 评论 -
Struts2自定义参数类型转换
1,封装类package org.ccit.com.domain;import java.util.Date;/** * @program: struts2_03 * @description * @author: LIANG * @create: 2021-01-22 12:43 **/public class User { private String username; private String password; private Date birth原创 2021-01-22 19:20:55 · 153 阅读 · 0 评论 -
四种Action接收请求参数的方式
通过servlet方式获取action配置<package name="U1" extends="struts-default" namespace="/user"> <action name="login" class="org.ccit.com.web.action.UserAction" method="login"></action> </package>action类public class UserAction e原创 2021-01-22 13:25:05 · 1407 阅读 · 1 评论 -
多个sturts配置文件
将admin.xml user.xml引入struts,xml文件中<struts> <include file="admin.xml"></include> <include file="user.xml"></include></struts>原创 2021-01-21 18:31:08 · 88 阅读 · 0 评论 -
acthon获取servlet api
第一种通过ServletActionContextpublic class TestAction extends ActionSupport { public String test(){ //获取servlet 的api方式 //第一种方式 通过ServletActionContext //response HttpServletResponse response = ServletActionContext.getResponse原创 2021-01-21 18:17:02 · 123 阅读 · 1 评论 -
自定义result type(验证码)
导入jar包ValidateCode.jar自定义result类 继承StrutsResultSupport类import cn.dsna.util.images.ValidateCode;import com.opensymphony.xwork2.ActionInvocation;import org.apache.struts2.ServletActionContext;import org.apache.struts2.result.StrutsResultSupport;import原创 2021-01-21 17:38:21 · 197 阅读 · 0 评论 -
Struts2配置文件元素(result--name,type)
文章目录resultname:typeredirectchain相同名称空间不同名称空间(依赖注入)redirectAction相同名称空间不同名称空间(依赖注入)result为动作指定结果视图name:逻辑视图的名称,对应着动作方法的返回值。默认值是success(可以不指定)type结果类型,指的就是用什么方式转到定义的页面。默认是dispatcher转发。type类型描述dispatcher(默认值)使用请求转发,转向一个页面。redirect使用重原创 2021-01-21 16:11:07 · 403 阅读 · 0 评论 -
struts2配置文件元素(Package,Action)
package在struts2的配置文件中引入了面向对象思想,使用了分包管理。易于管理动作类。便于模块化开发动作类。<package name="p1" extends="struts-default" abstract="true" namespace="/hh"></package>name:包名,在struts.xml中不能有相同的包名 包名是唯一的extend:继承,固定struts-default(struts2-core.jar/struts-default原创 2021-01-20 17:54:31 · 1165 阅读 · 0 评论 -
Struts2后缀访问设置和开发者模式设置
struts2框架中配置文件加载顺序顺序配置文件名所在位置说明1default.propertiesstruts2-core.jar\org\apache\struts2不能修改2struts-default.xmlstruts2-core.jar不可修改3strtuts-plugin.xml在struts2提供的插件jar包中不可修改4struts.xml我们的应用中可修改5struts.properties我们的应用中可修改原创 2021-01-20 12:46:36 · 245 阅读 · 0 评论 -
Struts2流程图
tomcat启动 加载web.xml(配置有过滤器)<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee ..原创 2021-01-19 19:02:51 · 176 阅读 · 1 评论 -
Struts2 action配置
在struts.xml中配置对action配置<?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"><struts><!--pa原创 2021-01-19 17:35:32 · 139 阅读 · 0 评论 -
调试Struts2框架
Apache开发的开源的mvc框架环境搭建:下载Struts开发包:http://struts.apache.orgjar包简介导入jar包在web.xml下配置过滤器<!-- 配置过滤器--> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.Strut原创 2021-01-19 16:02:19 · 131 阅读 · 0 评论