• Struts2标签——数据的获取和输出


    最近开始用Struts2框架,使用Struts2标签也成了家常便饭了,本章主要总结下在使用过程中数据的获取和输出。

    可能会有所遗漏,也可能会有所谬误,希望大家多指点、多交流,在使用过程中能更加清晰、熟练。

    本文中统一前缀为s。前缀可配置

    想知道在前台哪些数据是能获取到的,使用<s:debug></s:debug>是一种非常不错的方式。我们在jsp中加上debug,那么在前台就会显示这个页面能够获取到的数据,我们可以看到数据主要分为两大类:Value Stack Contents和Stack Context

    • Value Stack Contents:值栈,存放表单中的值。ValueStack里面的东西先入后出,很多没有id的元素使用完之后就退栈了。可以直接引用,例如:

    User类:

    package com.dpc.test;
    
    import java.util.Date;
    
    public class User {
    	private Long id;
    	private String name;
    	private Date date;
    	public Date getDate() {
    		return date;
    	}
    	public void setDate(Date date) {
    		this.date = date;
    	}
    	public Long getId() {
    		return id;
    	}
    	public void setId(Long id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    }

    action中

    package com.dpc.test;
    
    public class UserAction {
    	private User user;
    	private String searchName;
    	public String getSearchName() {
    		return searchName;
    	}
    	public void setSearchName(String searchName) {
    		this.searchName = searchName;
    	}
    	public User getUser() {
    		return user;
    	}
    	public void setUser(User user) {
    		this.user = user;
    	}
    }

    在JSP中取得user对象中的内容和searchName如下:

    <s:textfield name="user.name" id="name" />
    
    <s:hidden name="user.id" id="id" />
    
    <s:textfield name="searchName" id="searchName" />
    
    输出:<s:property value="%{user.name}" />     <s:property value="%{searchName}" />

    日期格式化输出,必须是Date类型的才能使用如下方式:

    <s:date name="user.date" format="yyyy-MM-dd" />
    • StackContext:stack上下文,它包含一些列对象,包括request/session/attr/application map等,这些命名对象与根对象无关,访问这些对象需要使用#前缀指明。

    request中的值:

    <%request.getAttribute("name", "xxxx");%>
    获取:%{#request.name}
    输出:<s:property value="#request.name"/>

    session中的值:

    <%session.getAttribute("name");%>
    <s:property value="#session.name"/>

    parameters中的值(传递的参数值):

    <%request.getParameter("name");%>
    <s:property value="#parameters.name[0]"/>


    参考文档:

    WebWork 2.0 Tags

    Struts2 Core 2.1.8.1


  • 相关阅读:
    vue $refs的静态绑定使用与动态绑定使用
    net core中Vue.component单独一个文件不运行,不报错的处理
    C语言之指针基础
    C语言之指针函数
    指针强化
    C语言之指针数组
    C语言之数组
    C语言之数据类型
    C语言之内存管理
    C语言之流程控制
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3112844.html
Copyright © 2020-2023  润新知