Struts2标签库(8):<s:form/>,<s:textfield/>,<s:password/>,<s:radio/>,<s:checkbox/>

start.jsp :

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<a href="sample">
<s:form/>
<s:textfield/>
<s:password/>
<s:checkbox/>
<s:radio/>
标签用法</a>
</body>
</html>
struts.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
    <package name="demo" extends="struts-default">
        <action name="sample" class="action.SampleAction">
            <result name="success">/showInfo.jsp</result>
        </action>
    </package>
</struts>
SampleAction.java :

public class SampleAction {

	private String username;
	private String password;
	private int age;
	private String email;
	private String gender;
	private boolean married;
	
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public boolean isMarried() {
		return married;
	}

	public void setMarried(boolean married) {
		this.married = married;
	}

	public String execute(){
		username="tom";
		password="1234";
		age=25;
		email="helloworld@sina.cn";
		gender="M";
		married=true;
		return "success";
	}
}
showInfo.jsp :

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:form action="sample" theme="simple">
姓名:<s:textfield name="username"></s:textfield><br>
密码:<s:password name="password" showPassword="true"></s:password><br>
年龄:<s:textfield name="age"></s:textfield><br>
邮箱:<s:textfield name="email"></s:textfield><br>
性别:<s:radio list='#{"F":"女","M":"男"}' name="gender"></s:radio><br>
婚否:<s:checkbox name="married"></s:checkbox>
</s:form>
<s:debug></s:debug>
</body>
</html>
展开Debug:

我们如果不使用框架,一般流程是Servlet接受用户请求,调用模型处理请求,得到处理结果,可以将结果绑定到request上接着转发到某个视图页面,在页面中取出数据,进行展现。现在使用了Struts2,XxxAction就相当于Servlet,此处为了简单起见,没有调用模型处理请求得到数据,而是直接在Action中构造了一些数据,然后转发到视图。我们并没有将数据绑定到request或session上,为什么能在视图里访问这些数据呢?

答案就是Value Stack里始终存放当前Action,而这些数据都在Action中,页面访问数据时采用ognl语法。这就是Struts2的做法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值