Struts2标签

1、用来输出值。

value的值是OGNL表达式。如果没有设置value属性,则输出值栈栈顶对象default属性用于设置默认值,即未找到属性值时显示的值。

2、用来将某个变量及其值放入ActionContext中

scope可取值有request,session,application,action,若未设置scope则放入ActionContext。
获取时要使用#。


也可直接创建一个集合对象(List或Map),如下代码:


生成Map:


3、条件判断标签
标签



  null


  not null

注:test属性值中可使用and、or,也可使用&&、||。

4、标签,用于辅助生成url字符串

  2

查看产品
注:%{ }的使用,在表达式可能被看做字符串的情况下,使用%{}符号表明该字符串是OGNL表达式,%{ }只有在Struts标签中才生效。也可改用下述代码:
test
5、标签用来迭代输出集合。

该标签有3个属性:

value:指定被迭代的集合
var :指定引用当前元素变量名
status属性:指定引用IteratorStatus实例的变量名。
IteratorStatus实例中存在以下几个方法:
int getCount() 返回迭代计数
int getIndex() 返回当前元素索引
boolean isEven() 当前元素count是否偶数
boolean isFirst() 是否第一个元素
boolean isLast() 是否最后一个元素
boolean isOdd() 当前元素count是否奇数

【示例】



  

当前元素值: 
6、标签用来格式化日期对象为字符串name指定待格式化的日期指;format指定格式。

例如:


上面的所有示例

         






2 linkName1
linkName2
linkName3
linkName4
  •  :  
7、【了解】Struts2 UI标签

  
  
  
  
  超链接
  
  

Struts2标签_第1张图片
image.png
各标签可使用的属性:
theme,cssStyle,cssClass,cssErrorClass,cssErrorStyle,name,value,......

使用了theme属性

    超链接
    
      
      
      
      
      
      
     
image.png
• UI标签或者Form标签的theme属性用来指定主题。

Struts2内建了3个主题,分别是simple, xhtml, css_xhtml。
simple 主题只会将UI标签转换为普通HTML元素,不会生成其它额外内容;

xhtml主题是Struts2的默认主题,它具有如下特性:
1、 UI控件使用标准的两列表格布局。
2、将label属性转换为
• 使用Struts UI标签的优点:
1,自动根据Action中对应的实例变量显示表单控件的值。
2,自动显示校验错误消息,无需使用标签。
• 单选按钮组件

list属性指明要迭代的集合;
listKey属性指明使用list中对象的哪个属性作为选项值;
listValue属性指明使用list中对象的哪个属性作为显示内容;
value属性控制哪个项目被选中;

注意:name属性是必须的。
• 下拉列表组件

headerKey和headerValue指明第一项的value和内容;
value属性控制当前被选中项。

• 复选框组件

 

示例程序:
Action类

package com.xixi.struts_demo.action;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.util.ValueStack;
import com.xixi.struts_demo.dto.MajorInfo;

public class DefaultAction extends BaseAction {
    
    private Integer majorId;
    
    private Integer[] majorIds;
    
    private String myName = "兮兮";
    
    public Integer getMajorId() {
        return majorId;
    }

    public void setMajorId(Integer majorId) {
        this.majorId = majorId;
    }

    public Integer[] getMajorIds() {
        return majorIds;
    }

    public void setMajorIds(Integer[] majorIds) {
        this.majorIds = majorIds;
    }
    
    public String getMyName() {
        return myName;
    }

    @Override
    public String execute() throws Exception {
        ValueStack vs = ActionContext.getContext().getValueStack(); 
        vs.set("myName", "周润发");
        vs.set("user",new Object(){
            public String getTestString(){
                return "李四光";
            }
        });
        
        vs.set("someValue", "
你的名字
"); vs.set("dob", new Date()); List majorList = getMajorList(); super.add2ValueStack("majorList", majorList); this.majorId = 102; this.majorIds = new Integer[]{102,104,108}; return SUCCESS; } private List getMajorList() { List list = new ArrayList(); for (int i = 0; i < 10; i++) { list.add(new MajorInfo(100+i, "专业"+(100+i))); } return list; } }

jsp代码

      



你可能感兴趣的:(Struts2标签)