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


    在jsp页面中获取action中的值:

    1.写一个action类OgnlAction类:

    需要注意的地方:

    如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页面中的。因为result标签的默认跳转方式为请求转发方式,所以这里我们将值存储到并行域中。

    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    import ognl.OgnlContext;
    
    public class OgnlAction extends ActionSupport{
    
        public String save1(){
            /*OgnlContext context=new OgnlContext();
            //将值存到值栈中
            context.put("name","美美");*/
            //放到并行域中
            HttpServletRequest request=ServletActionContext.getRequest();
            request.setAttribute("name", "zhangsan");
            System.out.println("ognlAction的save方法执行了...");
            return SUCCESS;
        }
    }

    2.写一个jsp页面来获取action中的值:

    需要注意的地方:

    这里不能直接写“#属性名”,而应该写为“#request.属性名”才可以获取到值。

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
        <h3>Ognl表达式</h3>
        <s:property value="'aaa'.length()"/><br/>
        <s:property value="#request.name"/>
    </body>
    </html>
  • 相关阅读:
    5月9日黑马java之java中四种权限修饰符
    MOOCjava之输入输出
    5月7日黑马java之final关键字的用法
    MOOCjava之数据库基础
    MOOCjava之线程
    毕业设计
    shiro 权限
    Spring Boot Thymeleaf
    Spring Boot文件处理
    Spring Boot Rest模板
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10110411.html
Copyright © 2020-2023  润新知