ActionSupport 1)....ActionSupport 是默认的 Action 类: 若某个 action 节点没有配置 class 属性, 则 ActionSupport 即为待执行的 Action 类....testActionSupport.jsp 等同于 <action name="testActionSupport" class="com.opensymphony.xwork2.<em>ActionSupport</em>...在手工完成字段验证, 显示错误消息, 国际化等情况下, 推荐继承 <em>ActionSupport</em>. 演示 ? ? ? ? ?...所以,在业务稍微复杂些后,推荐使用<em>ActionSupport</em>。 struts-2.5.2-all.zip https://yunpan.cn/cMXkrZCZYeha7 访问密码 874b
struts2 中 Actionsupport 的作用 Action 跟 Actionsupport 的区别 当我们在写action的时候,可以实现Action接口,也可以继承Actionsupport...Action接口有: public static final java.lang.String SUCCESS = “success”; public static final java.lang.String...NONE = “none”; public static final java.lang.String ERROR = “error”; public static final java.lang.String...INPUT = “input”; public static final java.lang.String LOGIN = “login”; public abstract java.lang.String...execute() throws java.lang.Exception; 而Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在
常用的apex:commandButton,apex:commandLink,apex:actionFunction,apex:actionSupport。他们进行操作的时候,会将整个表单提交。...二.apex:actionSupport actionSupport作用为当一个特定的事件被触发,比如单击,失去焦点,鼠标移入等操作被触发时,允许组件进行异步的刷新功能,常用场景为联动,失去焦点后校验在数据库中是否唯一等...actionSupport和actionFunction在功能上很相像,不过有几点小区别: 1.actionSupport是直接被其他的元素调用,actionFunction可以通过js调用,你可以在js...acc.Industry}"/> 7 <apex:actionSupport event="onchange" action="{!...总结:使用actionRegion和actionSupport可以更加灵活的提交表单,提升表单提交的性能。内容描述错误的地方欢迎指出,有问题欢迎留言。
2,ActionSupport类引入 我们可以继承自ActionSupport类,修改如下: package com.java.action; import com.opensymphony.xwork2....ActionSupport; public class HelloWorld extends ActionSupport { private String name; public...; import com.java.service.UserService; import com.opensymphony.xwork2.ActionSupport; public class UserAction...JavaBean属性 UserAction类; package com.java.action; import com.java.model.User; import com.java.service.UserService...; import com.opensymphony.xwork2.ActionSupport; public class UserAction2 extends ActionSupport {
; import com.opensymphony.xwork2.ActionSupport; public class HobbyAction extends ActionSupport {...; import com.java.model.Student; import com.opensymphony.xwork2.ActionSupport; import java.util.List...; public class StudentAction extends ActionSupport { private List students; public...; import com.opensymphony.xwork2.ActionSupport; public class ForeStudent extends ActionSupport {...; import com.opensymphony.xwork2.ActionSupport; public class BackStudent extends ActionSupport {
具体实体的返回可以有用户自己定义的Action来决定 具体的手段是根据返回的字符串找到对应的配置项,来决定实体的内容 具体Action的实现可以是一个普通的java类,里面有public String...execute方法即可 或者实现Action接口 不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法 ------------------------...代码: package com.bjsxt.struts2.front.action; import com.opensymphony.xwork2.ActionSupport; public class...IndexAction3 extends ActionSupport { @Override public String execute() { return "success"; }...> <%@ page language="<em>java</em>" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
1、通过属性传参数(Attr) UserAction.java package com.bebig.struts2.user.action; import com.opensymphony.xwork2....ActionSupport; public class UserAction extends ActionSupport { private String name; private...name=Don&age=26">添加用户 2、通过域模型传参数(Domain Model) UserAction.java package com.bebig.struts2.user.action...user.getName()); System.out.println("age:" + user.getAge()); return SUCCESS; } } User.java...user.name=Don&user.age=26">添加用户 3、通过模型驱动传参数(Model Driven) UserAction.java package com.bebig.struts2
1、继承 ActionSupport 实现 Action 通过继承 ActionSupport 来实现 Action 是我们的推荐做法,因为 ActionSupport 中提供了输入验证、国际化、execute...1.1 UserAction.java package com.lzugis.action; import com.opensymphony.xwork2.ActionSupport; public..."error">/Error.jsp 1.3 userlogin.jsp <%@ page language="<em>java</em>...相比较继承<em>ActionSupport</em>实现action,模型驱动的action比较方便。...继承<em>ActionSupport</em>实现action,如果实体类的属性非常多,那么Action中也要定义相同的属性,这样显得比较繁琐。
首先是简单数据类型的封装 jsp页面 <%@ taglib prefix...; import java.util.Date; /** * 数据封装的方式一:提供属性的set方法 */ public class UserAction1 extends ActionSupport...下面是复杂数据类型的封装 jsp页面 ...; import java.util.List; /** * 负责类型数据封装到List中 */ public class ProductAction1 extends ActionSupport...; import java.util.Map; /** * 负责类型数据封装到Map中 */ public class ProductAction2 extends ActionSupport
Action 具体视图的返回可以由用户自己定义的Action来决定,具体的手段是根据返回的字符串找到对应的配置项,来决定视图的内容 一、具体Action的实现 1、可以是一个普通的java类,里面有public...public class Action3 extends ActionSupport { public String execute() { System.out.print("继承ActionSupport..." import="java.util.*" pageEncoding="UTF-8"%> <!...Struts2_path/path/hello.action,相当于在当前目录查找,即/Struts2_path/path/path.jsp 2、jsp链接都使用绝对路径: <% String path = request.getContextPath(); String basePath
创建 一个Java web应用 增加 jetty plugin cn.java.struts BasicStruts</artifactId...; public class HelloAction extends ActionSupport { @Override public String execute() throws...1、xml中配置 method 属性,对应 指定方法 public class HelloAction extends ActionSupport { public String add()...image.png Struts2接收参数 使用Action属性接收 public class LoginAction extends ActionSupport { private String...public class LoginAction extends ActionSupport implements ModelDriven { private User user
在 WebRoot目录下编写一个简单的登录页面 form1. jsp,如下所示: <%@ page language="<em>java</em>" import="<em>java</em>.util.*" pageEncoding="....<em>ActionSupport</em>; public class form1Action extends <em>ActionSupport</em>{ public String execute() throws...【属性驱动方式之一:提供属性的set方法的方式】 编写jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859...【属性驱动方式之一:页面提供表达式的方式】 编写jsp页面: <%@ page language="<em>java</em>" import="<em>java</em>.util.*" pageEncoding="ISO-8859-...4.1 封装到List集合中 编写jsp页面:
; /* * Action接收参数之后通过set方法赋给普通变量age,name; */ public class UserAction1 extends ActionSupport{...public User getModel() { return user; } } 2个页面 index.jsp <% String path..." import="<em>java</em>.util.*" pageEncoding="UTF-8"%> <% String path...希望能给有打算从事Java的朋友些许借鉴!
Netkiller Java 手札 Java, Servlet, JavaBean ... 5.4....文件 package com.example.action.ajax; import java.util.ArrayList; import java.util.HashMap; import...java.util.List; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2....ActionSupport; public class Captcha extends ActionSupport { private static final long serialVersionUID...; public class Captcha extends ActionSupport { private static final long serialVersionUID = 7284583098398030297L
ModelDriven,如果对传递参数不明白的可以参看我上篇文章 三种对象传参和ModelDriven的原理 一个Student实体类 package com.yc.web.actions; import java.io.Serializable...student); return Action.SUCCESS; } } 三、通过ActionContext取Map package com.yc.web.actions; import java.util.Map...} } 四、通过RequestAware,SessionAware,ApplicationAware接口,来注入 三个Map package com.yc.web.actions; import java.util.Map...void setRequest(Map arg0) { request=arg0; } } 下面是访问页面 index,jsp /show.jsp 访问成功显示页面show.jsp <%@ page language="<em>java</em>
struts以依赖注入方式把request,session和application赋上值,看一下完整的代码 package com.pengli.struts.parampack; import java.util.Map...; public class MyWinAction2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware..."a3", "FourA3"); } } 最后一种方法是通过ActionContext得到相应的参数 package com.pengli.struts.parampack; import java.util.Map...void setUser(UserModel user) { this.user = user; } } 再看一下web页面如何访问这些元素 <% String path = request.getContextPath(); String basePath
. --%> Title...use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="<em>java</em>...import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest; import <em>java</em>.util.Map...; /** * 访问Servlet的API方式二:采用原生的方式 */ public class RequestDemo2 extends <em>ActionSupport</em> { @Override...; import <em>java</em>.util.Map; /** * 访问Servlet的API方式三:接口注入的方式 */ public class RequestDemo3 extends <em>ActionSupport</em>
action1 2.struts2 访问 JSP 的 API ---- struts 中的 action 类就相当于是普通java...age"> action类 package cc.wenshixin.action; import java.util.Arrays...; import java.util.Map; import java.util.Set; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2....ActionSupport; public class ActionContextDemo extends ActionSupport{ @Override public String... 实体类同上面一样 Action 类 package cc.wenshixin.action; import java.util.Map
实验一:传递值属性 一、Test1Action: package com.action; import com.opensymphony.xwork2.ActionSupport; public class...Test1Action extends ActionSupport { private String username; public String getUsername() {...result>/test{1}.jsp 三、 jsp页面: <% String path = request.getContextPath(); String basePath...; import com.opensymphony.xwork2.ActionSupport; public class Test2Action extends ActionSupport {
;import java.io.IOException;import java.util.Random;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest...; @Controller("lunboAction")public class LunboAction extends ActionSupport { /** * */...; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream...; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;import java.util.List...;/** * 多文件上传 */public class FilesUploadAction extends ActionSupport { //上传文件存放路径
领取专属 10元无门槛券
手把手带您无忧上云