struts2实现猜数字游戏

猜数字游戏规则:

       由Login类的execute方法随机生成一个0-99的数字, 用户进行猜测 。 在web页面实时反馈 数字“过大”,“过小”和“总计猜了多少次”等信息。


首先在welcome-file 中加入起始页面 success.jsp

这个页面用来接收第一次输入的数据:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
请猜一个数字
<form action="guess/guess" method="post">
我猜<input type="text" name="number"></input>
<input type="submit" value="submit"/>
</form>

</body>
</html>

接收到数据后传给guess这个action 。 guess的class代码如下:

public class Guess extends ActionSupport implements RequestAware{
private static Integer count=0;
private Integer number;
private java.util.Random r=new java.util.Random(); 
private static Integer theone;
private Map<String,Object>request;
public String execute() {
	//System.out.println(number);
	if(count==null)
		count=0;
	
	
	if(count==0)
	{
		request.put("result", "请您猜一个数字吧");
		request.put("count", count);
		theone=Math.abs(r.nextInt());
		theone=theone%100;
		System.out.println("这个数是"+theone);
		
	}
	if (number>theone){
		
	    count++;
	    request.put("result", "猜大了哟");
		request.put("count", count);
		
	}
	if(number<theone){
		count++;
		request.put("result", "猜的太小了魂淡");
		request.put("count", count);
		
	}
	if(number==theone){
	   count=0;
	   request.put("result", "猜对啦");
	   request.put("count", count);
	}
	System.out.println("本轮一共猜了"+count+"次");
	return "success";
				
	
}
public Integer getNumber(){
	return number;
}
public void setNumber(Integer number){
	this.number=number;
}

@Override
public void setRequest(Map<String, Object> request) {
	// TODO Auto-generated method stub
	this.request=request;
	
}
}

这里用number来接收jsp中传来的用户输入数字。 同时生成的result和count信息由request传给jsp文件。 这个类return到 name==success的result。 这个result的jsp文件如下所示:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
    <%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>

<form action="guess/guess" method="post">
<%= request.getAttribute("result")%> <br />

您现在共猜了<%= request.getAttribute("count") %>次<br />
我猜<input type="text" name="number"></input>
<input type="submit" value="submit"/>
</form>

</body>
</html>

可以看到基本上与success.jsp相同, 在result 和count部分通过request做了替换。


这是一个基本的struts2小程序,关于request进行通信的简单应用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值