struts2 标签(一)

User.class 类

package com.test;

/**
* @author Eric.zhangh
* Dec 28, 2010
*/
public class User {
private String username="请在此处填写用户名";
private String password = "123456" ;
private int sex;
private String[] love;
private boolean married;
getter/setter method
}

用来初始化籍贯的Action类:

public class ProvinceAction extends ActionSupport{
private List<String> province;

public List<String> getProvince() {
return province;
}

public void setProvince(List<String> province) {
this.province = province;
}
// 初始化集合
public ProvinceAction(){
province = new ArrayList<String>();
province.add("湖南");
province.add("山东");
province.add("山西");
province.add("湖北");
province.add("广东");
province.add("广西");
province.add("河南");
province.add("河北");
}
}



处理User登录的UserAction

public class UserAction {
private User user;
public String execute() throws Exception{
return "success";
}
}


Struts.xml配置文件:

<package name="struts2" extends="struts-default" namespace="/login">
<action name="provinceAction" class="com.test.ProvinceAction">
<result>/login.jsp</result>
</action>
<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>


前台页面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib tagdir="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
%>
<html>
<head></head>
<body>
<h1>
登录页面
</h1>
<!-- 如果struts.xml里的package配置了namespace,则s:form 里也可以配置一个namespace,与之一样 -->
<s:form action="login" method="get" namespace="/login">
<s:bean name="com.zhy.User" id="u"></s:bean>
<!-- s:bean标签,会把对象加载到值栈中去。后台如果设了初值,通过#u.username就能取出来
这里的%{}表示里面是表达式 #表示从值栈里取-->
<s:textfield name="user.username" value="%{#u.username}" label="用户名"
required="true"></s:textfield>
<s:password name="user.password" label="密码" required="true"></s:password>
<!-- 构造Map需要使用#{} -->
<s:radio list="#{1:'男',0:'女'}" name="user.sex" label="性别"></s:radio>

<!-- 下面是第二种方式 -->
<s:bean name="com.zhy.User" id="u">
<!-- s:bean标签会把内容放到值栈中去,只要在这个标签里,就能直接访问其username,如下:-->
<s:textfield name="user.username" value="username" label="用户名"
required="true"></s:textfield>
<s:password name="user.password" label="密码" required="true"></s:password>
<!-- 构造Map需要使用#{} value=1表示 默认选中 男-->
<s:radio list="#{1:'男',0:'女'}" name="user.sex" value="1" label="性别"></s:radio>
</s:bean>
<!-- 单选按钮,value=true表示默认选中 -->
<s:checkbox label="婚否" name="user.married" value="true"/>
<!-- 多选按钮 最好使用Map-->
<s:checkboxlist name="user.love" label="爱好" list="#{1:'足球',2:'篮球',3:'排球'}"/>

<!-- 第一种方式给select赋值:使用s:bean 不需要配置Struts.xml文件
<s:bean name="com.test.ProvinceAction" id="pro"></s:bean>
<s:select list="#pro.province" name="user.province" label="籍贯"></s:select>
-->
<!-- 第二种方式给select赋值:通过访问Action ,需要配置Struts.xml文件-->
<s:select list="province" name="user.province" label="籍贯"></s:select>
<s:submit value="提交"/><s:reset value="重置"/>
</s:form>
</body>
</html>


页面显示如图:

[img]http://dl.iteye.com/upload/attachment/378036/0a848cd1-a0fb-3d4b-9ee4-88777a5bf248.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值