随笔分类 - struts2
1
摘要:案例:PersonAction.java:package blog.action; public class PersonAction { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String execute(){ return "success"; } }
stsuts.xml:<?xml...
阅读全文
摘要:<s:set name="age" value="33"></s:set><s:param name="personid" value="23"></s:param><s:param name="personid" value="#age"></s:param><s:param/>标签中的value会默认当做OGNL表达式处理 <s:set name="myurl"
阅读全文
摘要:不适用任何框架时编写的JSP页面,在JSP页面中通过EL表达式只能访问page/request/session/aaplication范围的属性;而使用struts框架可以通过EL表达式访问Action中的属性,这是由于:案例:struts.xml:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "
阅读全文
摘要:直接访问jsp页面是不会访问包下的资源文件。
阅读全文
摘要:index.jsp:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%&g
阅读全文
摘要:案例:在src目录下新建两个属性文件:welcome_en_US.properties:greeting=Welcome to china\!welcome_zh_CN.properties:greeting=欢迎来到中国struts.xml:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "htt
阅读全文
摘要:ActionContext.getContext().put("", "");---------放入的是request范围ActionContext.getContext().getApplication().put("", "");---------放入的是application范围ActionContext.getContext().getSession().put("", "");---------放入的是session范围
阅读全文
摘要:案例:DataValidateAction-validate_save-validation.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators&g
阅读全文
摘要:xml文件中的<!CDATA[[]]>问题:为了避免输入的文本与xml文件中某些特殊字符相冲突可以用<!CDATA[[]]>将文本扣起来,表示此文本是纯文本。如正则表达式<!CDATA[[^1[358]\d{9}$]]>。案例:DataValidateAction.java:package blog.validate; import java.util.Date;
import java.util.regex.Pattern; import com.opensymphony.xwork2.ActionSupport; public class DataVal
阅读全文
摘要:注意:进入input视图有两种可能,一种是校验失败进入,另一种是数据类型转换失败进入的,这点要引起注意。。。。。。。。。。
阅读全文
摘要:DataValidateAction.java:package blog.validate; import java.util.regex.Pattern; import com.opensymphony.xwork2.ActionSupport; public class DataValidateAction extends ActionSupport { private static final long serialVersionUID = -1817223356525882414L; private String user; private String mobile; ...
阅读全文
摘要:用于拦截用户是否已登录的拦截器,若用户已登录则允许进行文件上传,否则提示“你无权进行此操作”PermissionInterceptor.java:package blog.interceptor; import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor; public class PermissionInterceptor implements In..
阅读全文
摘要:MultiUpload.java:package blog.action; import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext; public class MultiFileUpload { private File[] fileUpload;//得到上传的文件 private String fileUploadContentType;//得到文件的类型 priva...
阅读全文
摘要:FileUpload.java:package blog.action; import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext; public class FileUpload { private File fileUpload;//得到上传的文件 private String fileUploadContentType;//得到文件的类型 private Strin...
阅读全文
摘要:当只需要往三个范围内放入和取出数据时就可以使用ActionContext对象,而当需要得到ServletAPI时比如需要得到某个文件的绝对路径时就可以使用ServletActionContextpackage blog.action; import java.util.Arrays;
import java.util.Date; import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext;
...
阅读全文
摘要:struts2的类型转换器分为局部和全局,局部就是只为某一个Action服务,而全局则是为所有的Action服务。局部类型转换器的实现:第一步:新建一个从DefaulTypeConvertion继承的类package blog.typeConvertion; import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Map; import com.opensymphony.xwork2.conversion.impl.DefaultT..
阅读全文
摘要:HelloWorld.java:package blog.action; public class HelloWorld { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } ...
阅读全文
1