`
小铁匠再战江湖
  • 浏览: 55563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

总结各种jsp和后台(Action)的各种传值

 
阅读更多
    1、EL表达式
    EL表达式的一般操作的四大作用域application、session、request、pagecontext(作用域由大到小)中的属性。el表达式操作不了局部变量。
    EL实现变量类型的自动转换。
    EL表达式必须以“${XXX}”来表示,其中"XXX"部分就是具体表达式内容
   

    2、El表达式实例分析
    ${s},会自动按照pagecontext,request,session,application的顺序去找属性名为s的属性。
    <%=((Person)request.getAttribute("qy")).getName2()%>--${qy.name2}
    ${requestScope.s}相当于:<%=request.getAttribute("s")%>
    注意:EL表达式中的变量,都必需用setAttribute("a","AA")放在四大作用域里。
    ${empty a}如果a是null,空字符串或者空的集合就返回true,否则返回false。
    ${param a}相当于:<%=request.getParameter("a")%>
    ${paramValue.b[0]}相当于:<%=request.getParameterValues("b")[0]%>用于多个同名不同值参数的情况。

   3、回顾了EL之后,我们来看一看struts2中的各种传值。
   Action中的代码:
public String add(){

ActionContext  ac = ActionContext.getContext();
ac.put("ddd", "789");

Map<String, Object>  session =ac.getSession();
session.put("ccc", "123");

Map<String,Object> request =(Map<String, Object>) ac.get("request");
request.put("aaa", "456");

return "index";
}
   Jsp中的body:
  <body>
${requestScope.aaa }  --  ${request.aaa }  --${attr.aaa }--${aaa}
    -- <s:property  value="#request.aaa"/>
    -- <s:property  value="#attr.aaa"/>
    <hr/>
    ${sessionScope.ccc   }--${ccc }--${session.ccc } --${attr.ccc }
        -- <s:property  value="#session.ccc"/>
    -- <s:property  value="#attr.ccc"/>
    <hr/>
    ${ddd }
  </body>

结果:



    由以上结果可看出struts2中放入“假”request的元素,可以有六种方法取出,session自然也有六种,但是我们一般只取最简单的${aaa}和${ccc},在ognl(即S标签中)非ValueStack中的内容,需要加"#"来标识,告诉ognl不要再根对象中寻找,而是在其他上下文对象中寻找相关值。
    OGNL获得上下文中的属性
    Action中的代码:
public String execute() throws Exception {
//增加测试代码
uname="老高";
user = new User("root","123456");
user.setAddr(new Address("中国","北京","海淀区"));
return "success"
}
   Jsp中的代码:
     <body>
<p><s:property value="uname" /></p>
<p><s:property value="user.addr.country" /></p>
<s:debug></s:debug> <!-- 我们可以通过debug标签查看ActionContext中的情况 -->
  </body>

结果如下:



  • 大小: 8.5 KB
  • 大小: 2.3 KB
  • 大小: 13.8 KB
分享到:
评论

相关推荐

    JSP与Servlet传值技术总结

    JSP与Servlet传值技术是Java Web开发中的一种重要技术,用于实现前台和后台之间的数据传递。该技术有多种实现方式,本文将对其进行总结和说明。 JSP到JSP的传值技术 JSP到JSP的传值技术主要有四种: 1. 超链接...

    ssm+tiles框架,前后台传值与获取值(json)

    Struts2框架通过Action类来处理请求,Action中可以定义方法,这些方法在执行后返回一个结果,结果可以是一个具体的视图(如JSP页面)或者是一个表示JSON的字符串。Struts2的JSON插件可以轻松地启用这个功能,使得...

    jsp页面之间的传值

    ### JSP页面之间的传值详解 #### 一、引言 在Web开发中,数据的传递是一项基础且重要的任务。特别是在使用JSP技术时,如何有效地在不同的JSP页面或JSP与Servlet之间进行数据传输,是每个开发者都需要掌握的核心...

    acton之间传值

    本文将详细介绍Struts2中几种常见的Action间传值方式,特别是`chain`和`redirectAction`两种方式的使用场景及限制。 #### 1. 使用`chain`进行Action间传值 `chain`结果类型允许将当前Action的结果转发到另一个...

    JSP向后台传递参数的四种方式总结

    JSP提供了多种向后台传递参数的方式,不同的场景和需求可以灵活选择。通过Form表单提交适用于需要用户交互的表单数据;隐藏域可以传递一些附加的、非用户可见的数据;URL传值简单直观,但不适合传输敏感数据;...

    ajax的json传值方式在jsp页面中的应用

    总结来看,AJAX的JSON传值方式在JSP页面中的应用,主要涉及到前端JavaScript的AJAX调用、数据处理,以及后端Java代码的数据查询和返回。通过这种模式,可以实现更加动态和交互性强的Web应用体验。开发者在设计和实现...

    struts2-传值方式

    ### Struts2 传值方式详解 在Struts2框架中,实现前后台的数据传递是构建Web应用的基础之一。本文将详细介绍三种常见的Struts2数据传递方式:通过默认的Action属性传递、使用Value Object(VO)传递以及利用...

    详解SpringMVC注解版前台向后台传值的两种方式

    SpringMVC是Spring框架的一个模块,专门用于处理Web应用程序的请求和响应。它允许开发者通过注解轻松地实现模型-视图-控制器(MVC)模式,从而将业务逻辑与用户界面分离。本文将详细介绍在SpringMVC注解版中,如何从...

    Struts2.5 利用Ajax将json数据传值到JSP的实例

    Struts2.5框架结合Ajax和JSON技术,可以实现在不刷新整个页面的情况下,仅更新JSP页面的部分内容,从而提高用户体验。以下是实现这一功能的详细步骤和知识点: 1. **Ajax简介**: - AJAX(Asynchronous JavaScript...

    struct2传递list集合到页面

    1. **Action方法创建和填充list**:在后台的Action类中,我们需要创建一个list对象,然后填充数据。例如,假设我们有一个`User`类,我们可能会创建一个`List&lt;User&gt;`来存储用户信息: ```java public class ...

    Struts2_OGNL

    1. 栈顶对象:在程序执行过程中,由容器自动创建并存储到值栈中,该对象仅在Action使用模型驱动方式传值时被用到。 2. Action对象:每个Action请求到来时,容器会创建一个Action对象并存入值栈,该对象携带所有与...

    刚做的一个投票系统

    功能齐全,有后台管理添加投票,删除,修改等,用到一些基本的session,(可以方便的进行一次性添加,删除再来更新)和javascrpit代码。前台可根据后台所选择的主题来显示,以及进行投票,欢迎初学者学习。 详细说明...

    jquery参数传递

    &lt;form id="queryForm" method="get" action="()%&gt;/bjtf/ctpf/demo/MyJsp2.jsp" style="margin-bottom:2px;"&gt; ;"&gt; ;"&gt; &lt;!-- 表单字段 --&gt; &lt;td width="15%"&gt;&lt;label for="cname"&gt;名称:&lt;/label&gt;&lt;/td&gt; ...

    ssh+javaScript

    - `不实用structs标签向jsp页面传值.txt`:在某些情况下,开发者可能选择不使用Struts2标签,而是直接通过EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)来传递和显示数据。...

Global site tag (gtag.js) - Google Analytics