`
胡笨笨
  • 浏览: 163370 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2学习笔记之Struts2标签取值方式

阅读更多

1.标签取值方式一

    通过<s:property value="" />取值

    当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
    当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
    例子:
    假设某Action中有person成员变量,在application中存在company属性
    那么我们可以通过以下方法取值:
    <s:property value="person.name" />
    <s:property value="#person.name" />
    <s:property value="company.name" /> //无法取到,因为company不在action的valueStack中
    <s:property value="#company.name" />

2.标签取值方式二

在任意的<s:/>标签内使用%{}来取值

当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
例子:
假设某Action中有person成员变量,在application中存在company属性
<s:textfield name="person.name" value="person.name" /> //错误,value会直接显示person.name字样
<s:textfield name="person.name" value="%{person.name}" />
<s:textfield name="person.company.name" value="%{#company.name}" />
<s:textfield name="person.company.name" value="%{#attr.company.name}" />

3.获取JSP页面的request,session,application中的属性

   在页面中可以这样获取:

<td>${applicateionScope.counter}</td>

<td>${sessionScope.counter}</td>

<td>${requestScope.counter}</td>

或者直接这样用:${属性} ${userBean.username}。userBean可以是request或session中的对象。

struts2中的Action代码中的内容为:

ActionContext ctx = ActionContext.getContext();

ctx.getApplication.put("counter",new Integer(5));

ctx.getSession.put("counter",new Integer(5));

ctx.put("counter",new Integer(5));

ctx.put就是直接设置request的值。

也可以使用以下方式获得request:

HttpServletRequest request = ServletActionContext.getRequest();

HttpServletResponse response = ServletActionContext.getResponse();

struts2还提供了以下接口:

ServletContextAware:Action实现该接口,可以直接访问ServletContext。

ServletRequestAware:Action实现该接口,可以直接访问HttpServletRequest。

ServletResponseAware:Action实现该接口,可以直接访问HttpServletResponse

分享到:
评论

相关推荐

    牧紫小岩的Struts2学习笔记

    ### 牧紫小岩的Struts2学习笔记精要 #### Struts2与Struts1对比 在**牧紫小岩的Struts2学习笔记**中,提到了Struts1和Struts2在实例化Action上的关键差异。Struts1在启动时创建Action实例,并在整个应用程序运行...

    [黑马程序员Struts2 2016版视频] 前3Days笔记

    Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化、易于维护的Web应用开发方式。本笔记主要涵盖的是黑马程序员2016年推出的Struts2教程的前3天...

    struts学习的一点笔记

    在深入探讨Struts框架的学习笔记之前,我们先简要回顾一下Struts框架的基本概念与重要性。Struts是一个开源的MVC(Model-View-Controller)框架,主要用于简化Java Web应用的开发。它提供了一套标准的方式来组织和...

    Framework学习文档

    Framework学习文档是关于Struts2、Mybatis、JavaScript和jQuery的详细笔记,涵盖了这些技术的基本概念、架构、配置、使用方法等方面的知识点。 一、Struts2框架 1. Struts2是典型的MVC框架,在整个MVC框架中充当...

    Spring2.5学习笔记

    ### Spring2.5学习笔记 #### Spring是什么? Spring是一个开源框架,主要应用于Java平台上的企业级应用程序开发。它提供了一种轻量级的容器管理机制,通过依赖注入(DI)和面向切面编程(AOP)来降低组件间的耦合...

Global site tag (gtag.js) - Google Analytics