参考: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方法也可以完成获取。