struts2在配置文件与JSP中用OGNL获取Action属性
参考:Struts与OGNL结合
struts2在配置文件中可以调用Action的属性,在JSP页面也可以取出Action的属性值(前提是属性有get,set方法)。
第一个例子:
1.Action中
//文件下载名
public String getDownloadFileName(){
String downloadFileName = "";
String filename = fileName + ".xls";
try {
downloadFileName = URLEncoder.encode(filename,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return downloadFileName;
}
2.配置文件中filename="${downloadFileName}"调用Action中的属性
<!-- 文件Excel模板下载 -->
<action name="exportWebExcel" class="Action.Excel.ExportWebExcel">
<result type="stream">
<!-- 其他的参数在类中设置或者使用默认 -->
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
<param name="bufferSize">8192</param>
</result>
</action>
第二个例子:
Action
package Demo1; import javax.print.attribute.standard.RequestingUserName;
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import utils.CheckCookie; /**
* Demo1主页,访问主页要先验证cookie
*
* @author: qlq
* @date : 2017年8月29日下午12:02:31
*/
public class Demo1Action extends ActionSupport { private String gotoUrl; public String getGotoUrl() {
return gotoUrl;
} public void setGotoUrl(String gotoUrl) {
this.gotoUrl = gotoUrl;
} @Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
if (CheckCookie.checkCookie(request))
return SUCCESS;
// 登陆失败后将gotoUrl写到JSP页面
gotoUrl = "/demo1/main.action";
return LOGIN;
} }
配置文件中:
<package name="sso" namespace="/sso" extends="struts-default">
<action name="login" class="SSOAction.LoginAction">
<result name="success" type="redirect">${gotoUrl}</result>
</action>
</package>
例子3: JSP页面中取出Action属性
属性有get,set方法即可,在JSP页面中也可以用OGNL表达式取出属性值,struts会将当前Action对象的属性放入值栈。
package Demo2; import javax.print.attribute.standard.RequestingUserName;
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import utils.CheckCookie; /**
* Demo2主页,访问主页要先验证cookie
*
* @author: qlq
* @date : 2017年8月29日下午12:02:31
*/
public class Demo2Action extends ActionSupport { private String gotoUrl; public String getGotoUrl() {
return gotoUrl;
} public void setGotoUrl(String gotoUrl) {
this.gotoUrl = gotoUrl;
} @Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
if (CheckCookie.checkCookie(request))
return SUCCESS;
// 登陆失败后将gotoUrl写到JSP页面
gotoUrl = "/demo2/main.action";
return LOGIN;
} }
aaarticlea/png;base64,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" alt="" />
-------------struts只写get方法,不写属性名字用${属性名}也会调用get方法-------------------
struts只写一个get方法,不写属性名,也可以获取到get方法返回的值,由此可见${name}是调用getName()方法。
例一:
类中只有getTest方法:
package cn.xm.exam.action.exam.exam;
/**
* 增加考试Action
*
* @author QiaoLiQiang
* @time 2017年10月14日下午4:55:27
*/
@Controller
@Scope("prototype")
@SuppressWarnings("all")
public class Test2Action extends ActionSupport { public String getTest() {
return "这个是只有get方法";
} @Override
public String execute() throws Exception {
return super.execute();
}
}
配置文件:
<action name="test" class="test2Action">
<result name="success" type="json">
<param name="root">test</param>
</result>
</action>
测试:

例子二:
将上面类进行改造:
package cn.xm.exam.action.exam.exam; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import com.opensymphony.xwork2.ActionSupport; /**
* 增加考试Action
*
* @author QiaoLiQiang
* @time 2017年10月14日下午4:55:27
*/
@Controller
@Scope("prototype")
@SuppressWarnings("all")
public class Test2Action extends ActionSupport {
private String test = "sssssss"; public String getTest() {
return "这个是只有get方法";
} @Override
public String execute() throws Exception {
return super.execute();
} public void setTest(String test) {
this.test = test;
} }
结果:

总结:
当我们在struts配置文件或者JSP页面中调用${name}的时候实际是调用getName()方法,因此有时候只需要写getName方法而不用写私有属性与set方法也可以完成获取。
struts2在配置文件与JSP中用OGNL获取Action属性的更多相关文章
- Struts2的配置文件中, <package>的作用,<action><result>重名?
问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...
- struts框架中OGNL表达式的使用之jsp页面获取action中的属性值
在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页 ...
- Struts2如何传值到jsp页面
Struts2如何传值到jsp页面 不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值.所以,有两 ...
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...
- struts2.1.6教程四、OGNL与ValueStack(VS)
1.值栈入门 下面我们建立struts2ognl项目来练习ognl的使用. 步骤一.搭建strust2的开发环境 步骤二.建立LoginAction,主要代码如下: package com.asm; ...
- 关于Struts2中的值栈与OGNL表达式
1.1.1 OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL :OGNL比EL功能强大很多倍. 它是一个开源项目. ...
- Struts2(二)——配置文件struts2.xml的编写
接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ...
- Struts2的配置文件的配置struts.xml
在学习struts的时候,我们一定要掌握struts2的工作原理. 仅仅有当我们明白了在struts2框架的内部架构的实现过程.在配置整个struts 的框架时.能够非常好的进行逻辑上的配置.接下来我 ...
- struts2 - View页面中获取Action的成员变量
struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074 View页面中获取Action的成员变量 按照Struts的设 ...
随机推荐
- CF-Contest339-614
614A-Link/Cut Tree 比较水,注意64位int仍然可能溢出. #include <cstdio> #include <algorithm> #include & ...
- TortoiseSVN 忽略文件 忽略已提交文件
主要以下两种情况: 1.首次提交就做好了忽略拦截:项目首次提交到svn服务器的时候,把该删的删了,然后设置忽略规则,就没问题了. 2.提交一段时间忽然想忽略拦截:经常碰到的,发现设置忽略规则后,没法生 ...
- Android应用程序签名详解
http://blog.csdn.net/lyq8479/article/details/6401093 本文主要讲解Android应用程序签名相关的理论知识,包括:什么是签名.为什么要给应用程序签名 ...
- Android 自定义ImageView支持缩放,拖拽,方便复用
今天刚发了一篇关于ImageView的缩放和拖拽的博客,然后我想了下,将他自定义下,方便我们来复用这个imageView,效果我就不多说了,http://blog.csdn.net/xiaanming ...
- 最最最最最基础的SQL Server
--创建数据库(命名不允许为汉字开头.不允许为数字开头.不允许为符号开头) create database Class --执行完成进行下一步点加go go --定位数据库 use Class --创 ...
- JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案
本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处 ...
- 内存分布图,errno
输出错误,errno是默认的全局变量 错误处理函数: 错误号:errno perror函数: void perror(const char *s); strerror函数: ...
- linux chkconfig添加开机启动服务
--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据: --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的 ...
- tcp的4次挥手、三次握手
1. TCP短连接模拟一种TCP短连接的情况:1. client 向 server 发起连接请求2. server 接到请求,双⽅建⽴连接3. client 向 server 发送消息4. serve ...
- Java_Mybatis_注解代理写法
Mybatis的开发方式其实有3种: 1. 原始Dao开发(就是把mapper接口.映射文件和实现类都一并开发) 2. xml代理(就是只实现mapper接口和映射文件) 3.注解代理(就是只实现ma ...