参考: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属性的更多相关文章

  1. Struts2的配置文件中, <package>的作用,<action><result>重名?

    问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...

  2. struts框架中OGNL表达式的使用之jsp页面获取action中的属性值

    在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页 ...

  3. Struts2如何传值到jsp页面

    Struts2如何传值到jsp页面 不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值.所以,有两 ...

  4. jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式

    在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...

  5. struts2.1.6教程四、OGNL与ValueStack(VS)

    1.值栈入门 下面我们建立struts2ognl项目来练习ognl的使用. 步骤一.搭建strust2的开发环境 步骤二.建立LoginAction,主要代码如下: package com.asm; ...

  6. 关于Struts2中的值栈与OGNL表达式

    1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. ...

  7. Struts2(二)——配置文件struts2.xml的编写

    接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ...

  8. Struts2的配置文件的配置struts.xml

    在学习struts的时候,我们一定要掌握struts2的工作原理. 仅仅有当我们明白了在struts2框架的内部架构的实现过程.在配置整个struts 的框架时.能够非常好的进行逻辑上的配置.接下来我 ...

  9. struts2 - View页面中获取Action的成员变量

    struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074   View页面中获取Action的成员变量 按照Struts的设 ...

随机推荐

  1. mysql Packet for query is too large (2036 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

    解决方法: 打开控制台,输入下面语句,执行 set global max_allowed_packet = 20*1024*1024; 网上说要重启 mysql server, 我是执行完后不用重启就 ...

  2. jupyter快捷键

    jupyter快捷键(jupyter有两个模式,命令模式和编辑模式) 当前cell侧边为蓝色时,表示此时为命令模式,按Enter切换为编辑模式 当前cell侧边为绿色时,表示此时为编辑模式,按Esc切 ...

  3. 自学Linux Shell18.1-sed编辑器基础特性

    点击返回 自学Linux命令行与Shell脚本之路 18.1-sed编辑器基础特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. sed概念 sed是stream edito ...

  4. BZOJ 193题纪念

  5. OneProxy构建

    OneProxy的主要功能有:1. 垂直分库 2. 水平分表 3. Proxy集群 4. 读高可用 5. 读写分离(master不参与读) 6. 读写分离(master参与读) 7. 写高可用 8. ...

  6. Power BI 实现实时更新Streaming Dataset

    一.在PowerBI portal端需要准备的操作: 1. https://app.powerbi.cn 登陆,点击左侧My Workspace,你需要有一个账号 2. 选入Datasets,点击页面 ...

  7. C++ 中的导致编译错误汇总

    多少年来,各路英雄好汉,八方神犇大佬,在CE中饮恨退役. OI的CE,还是那样熟悉的味道. (博主只能想到这么多,欢迎大家来补充) 1.变量名和内置函数冲突?!?! C++内置函数很多很多,许多你不知 ...

  8. 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)

    这篇写的主要是翻译网上一篇关于受限玻尔兹曼机的tutorial,看了那篇博文之后感觉算法方面讲的很清楚,自己收获很大,这里写下来作为学习之用. 原文网址为:http://imonad.com/rbm/ ...

  9. 多线程之间的通信(等待唤醒机制、Lock 及其它线程的方法)

    一.多线程之间的通信. 就是多个线程在操作同一份数据, 但是操作的方法不同. 如: 对于同一个存储块,其中有两个存储位:name   sex, 现有两个线程,一个向其中存放数据,一个打印其中的数据. ...

  10. 关于Picasso load本地图片显示失败的探究

    今天测试找过来说图片不显示了,查了一下是Picasso加载本地图片没有显示,奇怪了,以前都是这样写为什么现在不行了,难道是Picasso有bug了,怀着激动的心情断点跟进去发现 Picasso所有lo ...