ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对...javax.servlet.ServletContext : Servlet上下文信息 (4)javax.servlet.ServletConfig : Servlet配置对象 (5)javax.servlet.jsp.PageContext...4. struts2中获得request、response和session (1)非IoC方式 方法一:使用org.apache.struts2.ActionContext类,通过它的静态方法getContext...()获取当前Action的上下文对象。...().setAttribute("uList", uList); return SUCCESS; } //其他代码片段 } (2)IoC方式(即使用Struts2
问题:使用struts2,如何处理action的路径?还有,在action转到的jsp中,如何写js,css,图 片的路径?...这时候jsp原来的图片定位可能就都出错了) 答:action的话,就不需要关心路径问题。我们不使用action的命名空间。....action 无论前边是什么路径,struts2只看后边的匹配。...在我们struts2和配置了base的前提下,这里就会被浏览器解释为http://localhost/project/style/table.css。...第三步,就不必管action的路径如何了。 这个方法,可以兼容使用action和不使用action两种情况 另外,在struts.xml中配置jsp路径的时候使用项目的绝对路径。
,好处在于可以直接使用Struts2封装好的方法 package com.ncepu.struts; import com.opensymphony.xwork2.ActionSupport; public..."> /index.jsp action> 2、DMI 动态方法调用 用!... action> jsp中 /{2}_{1}.jsp action> jsp页面链接 jsp 要不只能到教师的jsp。 五、action接收参数 1、<a href=”user!add?
具体实体的返回可以有用户自己定义的Action来决定 具体的手段是根据返回的字符串找到对应的配置项,来决定实体的内容 具体Action的实现可以是一个普通的java类,里面有public String...execute方法即可 或者实现Action接口 不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法 ------------------------...>/ActionIntroduction.jsp action> -----------------------...------------------------------Hongten------------------------------------------- ActionIntroduction.jsp... 或者实现Action接口 不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法
这里写图片描述 ---- 小总结 如果我们使用到了Struts2一些特用的功能,我们就需要继承ActionSupport 如果我们没用到Struts2的特殊功能,只要平凡写一个Java类行了。...封装基本信息 在Action设置与JSP页面相同的属性,并为它们编写setter方法 private String username; private String psd; private...这里写图片描述 在Action中使用在表单中定义的name,就可以获取代表的上传文件的File对象 在Action中使用在表单中定义的name+FileName,就得到上传文件的名字 JSP页面 在注册页面上拥有两个上传文件控件...-- /index.jsp--> action> JSP显示页面 ---- 模型驱动 什么是模型驱动 在Struts2中模型驱动就是用来封装数据的..完成数据的自动封装.
默认的Action!...action-ref name="index">action-ref> 默认的action的引用;当别人访问这个action的时候,如果找不到对应的action 默认就用这个...action了, 如果没有默认action的引用,那么我们在url中输入一个地址时候,action不能在struts.xml 文件中找到,那么这时就会报错,但是如果有了默认的action引用,就不会出现这种情况了...name="index">action-ref> action name="index"> /default.jsp ...-------------- default.jsp 代码: <?
一个简单的Action里面的核心方法只有一个execute(); 定义多个核心方法的Action,有如下3种方式: 为Action配置method属性 动态方法调用 使用通配符映射方式 动态方法调用是指采用如下格式调用...Action中对应的方法: action="Action名字!...方法名字"> 也就是在JSP页面的表单中这样写:(假如Action类名为:ope,里面有核心方法sub()、add()、mul()、div()) action="ope!...add" method="post" name="aaa"> 在struts.xml中只需要配置该Action,而不必配置每个方法,配置格式: action name="Action名字..." class="包名.Action类名"> jsp action> 在JSP中用Javascript动态改变表单action中的属性 <
在我们定义Action的时候会希望有一个默认的action在写错action时或者不写action时不至于报错 这里我只写一个简单的strut.xml例子 /index.jsp ...struts-default"> /Errors.jsp...com.pengli.struts.parampack.MyActionOne" method="Def"> /index.jsp..." method="Def"> /index.jsp
image.png 点击修改,相应工资项的信息传递至item_update.jsp显示 备注:由于http协议的约束,页面之间只能传递字符串,不能传递对象。...image.png item_list.jsp jsp?...-- 只有工资项中没有工资时,才可以进行删除 --> action="item_delete">删除...青岛工学院工资管理系统 工资项修改 action
Action类的实现方式 本人独立博客https://chenjiabing666.github.io 所有的Action类必须有无参构造方法 Action类的实现方式 如果想要浏览器可以映射到其中的方法...,那么必须返回一个String,使用这个值指示需要跳转的视图或者Action Struts中的Action类实际上可以是一个POJO类,其中也是可以定义许多的方法,但是如果在struts.xml的配置文件中特指调用哪个方法的话...-- 配置跳转到添加学生页面的action --> action name="simpleAction" class="com.jsnu.struts2.controller.SimpleAction..." > /jsp/success.jsp action> 继承ActionSupport 在其中封装了...同上 实现 /** * action类: 这里实现的Action接口 * @author chenjiabing */ public class TestAction implements Action
Action类访问Servlet API 本人独立博客https://chenjiabing666.github.io Struts2并未直接和Servlet API耦合,这是Struts2的一个改良之处...方法中使用这个设置request域,session域中的属性 public class SimpleAction implements Action { @Override public...中存放键值对 actionContext.getApplication().put("a", "b"); return SUCCESS; } } success.jsp...} 总结 虽说现在可以向各种域中添加属性获取属性,但是我们不可以移除属性,所以说这种方法不如直接使用Servlet API功能更加强大 实现接口访问Servlet API 实现接口访问对一个Action...实现该接口的Action可以直接访问用户请求的HttpServletRequest实例 ServletResponseAware实现该接口的Action可以直接访问请求的HttpServletResponse
当一个Action处理类中处理多个业务时,action的配置 文件将会急剧增加,导致配置文件很臃肿的问题。 struts2提供了两种方案来解决这个问题。...一种是动态方法调用,另一种是使用通配符来配置Action。 这里只讲使用通配符的方式来配置Action....{ if(userDao.delete(id)>0){ return Action.SUCCESS; } return Action.ERROR... /list.jsp /update.jsp... /error.jsp action> 注意:使用通配符请求action的方式和以前一样
/addNewsInfo.jsp news/editNewsInfo.jsp news/newsInfo.jsp action> action 默认运行的是NewsInfoAction中的excute方法。...say.action 能够调用hello这个action中的say方法 方式二: http://localhost/struts2/simple/hello.action?...在这里,參数的名称是:method:say,这是最基本的,struts2正是 依据參数的名称来决定该调用哪个方法,而不是參数的值,所以參数的值能够是随意的 方式三: struts2的配置文件的action...2.假设struts2已经交给spring容器管理了。我们就能够通过注解来找action以及该action的方法了。 (推荐使用这样的方法。
name="hello"> /Hello.jsp action>...其实上面过程还省略了一些过程: 就是一个请求到了action的name的时候并不会直接转到我们的页面,而是会转到action对应的类,上面的struts省略了这一步,但是struts2帮我们默认执行了这一个过程...action name="helloadd" class="testStruts2.HelloAction" > /Hello.jsp action,现在只需要用通配符就可以解决这些,只需要添加响应的Action类(方法)和jsp页面就行了。...action name="*_*" class="testStruts2.{1}HelloAction" > /{1}_{2}_hello.jsp action
首先action是用来处理请求的, 这里struts2中的action的3中创建方式。 1.无侵入性的创建方式。 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的。...的方法"); return Action.SUCCESS; } } 2.继承struts2提供的ActionSupport类 使用继承ActionSupport类的方式来创建Action...,在Action中可以使用struts2提供的功能 public class HelloAction2 extends ActionSupport{ public String hello(){...Action接口来创建Action 实现接口来创建Action需要重写execute方法,这种使用的比较少 public class HelloAction3 implements Action{...action"); return Action.SUCCESS; } } 上面三种方式中,1,2相对使用较多
整合了spring就不同了,orz struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建(依赖注入)。...1. struts2单独使用时,action的class属性为LoginAction的全路径名,如下: action name="login" class="com.csu.action.LoginAction..."> /student/studentindex.jsp 2. struts2与spring集成时,class属性是spring的applicationContext.xml中配置的bean的id属性值。.../student/studentindex.jsp //applicationContext.xml 或者在spring相应的配置文件中 <bean id
如何访问 WEB 资源 和 ServletAPI 解耦的方式 : 为了避免与 ServletAPI 耦合在一起,方便 Action 做单元测试,Struts2 对 HttpServletRequest,...使用 ActionContext 获取域对象的代码演示 从 index.jsp 页面发送请求到 showPage.jsp,并将该请求交由 Struts 的 Action 类ObjectAction.java...处理请求 在 ObjectAction.java 中由 ActionContext 获取域对象并为其添加属性值,将请求转发到 showPage.jsp 在 showPage.jsp 页面我们可以获取到各个域对象的值...index.jsp image.png ObjectAction.java image.png struts.xml (只展示 package 节点即可) image.png showPage.jsp...index.jsp(展示 body 标签部分) action?
我们上一节已经将action基本的配置和使用讲了,接下来我们讲以下struts一些小知识点: namespac: 上一节学习action的时候我们访问我们jsp文件时候使用的: http://localhost... /Hello.jsp action> </package 这是我们上一节的struts.xml...同时我们namespace也可以填写其他的东西: 例如:namespace=“/index”,然后我们想要访问Hello.jsp的时候就需要:http://localhost:8080/testStruts2...="success"> /default.jsp action> 只要在package里面加上 action-ref name="index"/>就可以让当用户访问页面不存在的时候,访问我们的默认页面。
1.Struts2框架的学习路线 l 第一天:Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写 l 第二天:Struts2的数据的封装、结果页面配置...l 引入jar包 n struts-blank项目lib文件夹下找jar包(struts-blank放到Tomcatwebapps解压) 3.4创建一个JSP页面 Struts2...--Struts2为了管理Action的配置,通过包进行管理 --> /demo1/success.jsp action> 3.10编写success.jsp 跳转成功页面!!!
中 Action 类必须继承 org.apache.struts.action.Action 类,Struts2 中任何一个 POJO 都可以是一个 Action 类 Struts2 在页面里使用 OGNL...对于 Struts2 这当然也算是一个 HelloWorld,我们将借此实例开始 Struts2 各方面的知识讲解。 在 index.jsp 中编写页面代码,供用户输入基本信息,如下: ?...Customer.java 中成员变量和 index.jsp 中的属性一一对应,不忽略大小写; show.jsp 中用于显示的和 Customer.java 中的成员变量一致,否则无法显示 index.jsp...请求就是一个 action result (action 的子标签)标签体表示响应结果 name 对应 struts2 请求的名字,不包含扩展名(扩展民默认为 .action); class 为该 struts2...action 在此案例中 Customer.java 就是 struts2 中所说的 Action 类,index.jsp 发送的请求为一个 action 请求; action 代表一个 struts2
领取专属 10元无门槛券
手把手带您无忧上云