struts2标签之用法简单总结

做一个项目,要用到<s:checkboxlist>,从Action中取出所有的值和被选中的值,花了好长时间去研究,总是搞不定,今晚查阅了一些兄台的用法,忽然搞定,那个鸡冻! 因此总结一下,先参照一下这位兄台的资料。
来自:http://www.blogjava.net/kalman03/archive/2008/10/29/237484.html
网络上关于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了。

其实主要的是<s:checkboxlist>里面的list值和value值,list值是所有的值,而value是选中的值,只是需要这两个已经足矣。例如<s:checkboxlist name="aihao" list="list1" value="list2" label="爱好"></s:checkboxlist> 。action里面改如何去些参照上面的解释,还有记住有些时候存在空格问题,如果有存在需要去掉空格才能实现这样的方法。去掉空格可用String str1=str.replaceAll(" ", "");这个方法!简单总结结束,深有体会!

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