kalman03

每天早上看一遍《福布斯》富翁排行榜,如果上面没有我的名字,我就去学习......
随笔 - 22, 文章 - 0, 评论 - 86, 引用 - 0
数据加载中……

Struts2系列—Form Tags(checkbox/checkboxlist )

     网络上关于Struts2方面资料不少,之所以再重复一些关于Struts2的知识,只是因为本人正在学习Struts2,而且在学习的途中也遇见了不少 的问题,由于没有学过Struts2以前的版本,学习途中也是比较的痛苦,在此仅想记录下我的学习历程。
     如果你对这个方面有深入研究,恳请你的指点;如果你也是初学者,希望这系列的博文对你有所帮助。

      Struts2中的checkbox和HTML中的复选框<input type="checkbox">差不多,而要实现复选框中的选项从服务器端获得,Struts2中的checkbox不提供这个功能,而是靠另一个标签checkboxlist实现的,看下面代码:
checkbox.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    
<head>
    
</head>

    
<body>
        
<s:checkbox label="足球" name="checkbox" value="football" fieldValue="true" />
        
<!-- 上面一行代码等同下面一行HTML代码,属性都很简单不再介绍 -->
        
<input type="checkbox" name="checkbox" value="football"/>足球

    
</body>
</html>
效果图:


再看checkboxlist.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    
<head>
    
<title>struts2</title>
    
</head>
    
<body>
        
<s:checkboxlist list="foodList" name="food" label="food"/>
        
<br>
        
<s:checkboxlist list="hobbyList" name="hobby" label="hobby"/>
    
</body>
</html>
增加list集合里面映射类CheckboxlistAction.java:
package com.kalman03.action;

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

import com.opensymphony.xwork2.ActionSupport;

/**
 * @FileName CheckboxlistAction.java
 * 
 * @Author kalman03
 * 
 
*/
public class CheckboxlistAction extends ActionSupport {
    
private List foodList;
    
private List hobbyList;

    
public List getFoodList() {
        
return foodList;
    }

    
public List getHobbyList() {
        
return hobbyList;
    }

    @Override
    
public String execute() throws Exception {
        foodList 
= new ArrayList<String>();
        foodList.add(
"milk");
        foodList.add(
"rice");
        foodList.add(
"noodles");

        hobbyList 
= new ArrayList<String>();
        hobbyList.add(
"football");
        hobbyList.add(
"basketball");
        hobbyList.add(
"volleyball ");
        
return SUCCESS;

    }
}
在struts.xml里面配置好映射,即增加下列代码:
<action name="checkboxlisttag" class="com.kalman03.action.CheckboxlistAction">
    
<result>/checkboxlist.jsp</result>
</action>
ok,在浏览器中输入:http://localhost:8080/test/checkboxlisttag.action,可以看到结果:

其实其他的标签大体类似,重在动手,我有时也是老遇见错误,久了就Ok了。




posted on 2008-10-29 22:51 kalman03 阅读(4007) 评论(4)  编辑  收藏 所属分类: Struts2

评论

# re: Struts2系列—Form Tags(checkbox/checkboxlist )[未登录]  回复  更多评论   

如果我想默认选中其中的3项,又该如何做呢?
2008-11-24 13:52 | aa

# re: Struts2系列—Form Tags(checkbox/checkboxlist )  回复  更多评论   

@aa
将“value”属性设为你的要选中的值
2008-11-25 07:26 | kalman03

# re: Struts2系列—Form Tags(checkbox/checkboxlist )[未登录]  回复  更多评论   

checkbox的说法是错的
2009-05-07 09:05 | sonic

# re: Struts2系列—Form Tags(checkbox/checkboxlist )[未登录]  回复  更多评论   

<s:checkbox label="足球" name="checkbox" value="football" fieldValue="true" />
<!-- 上面一行代码等同下面一行HTML代码,属性都很简单不再介绍 -->
<input type="checkbox" name="checkbox" value="football"/>足球
--------------------------------------------------------
LZ这个不对吧

fieldValue和value属性的意思你写反了吧
value是表示是否选中的
fieldValue是表示要传入后台的值
2009-09-01 21:25 | weiwei

只有注册用户登录后才能发表评论。


网站导航: