JSP4_3,4_6

 

 

4_3、编写两个JSP页面inputString.jsp和computer.jsp,用户可以使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置对象获取inputString.jsp页面提交的字符串,并显示该字符串的长度。

inputString.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>习题4_3</title>
</head>
<body>
	<% request.setCharacterEncoding("utf-8"); %>
	<form action="computer.jsp" method=post name=form>
		输入字符串:<input type=text name="string" size=6 >
		<input type="submit" value="提交" name="submit">
	</form>
</body>
</html>

computer.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>习题4_3</title>
</head>
<body>
	<%
		String str=request.getParameter("string");
		if(str==null) str="";
	%>
		输入的字符串为:<%= str %>
		<br>长度为:<%= str.length() %>
	
</body>
</html>

运行结果

4_6、参照例4_18编写一个猜英文26个小写字母的Web游戏

hw4_6.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>猜猜猜</title>
</head>
<body>
	26个字母猜一猜
	<%
		String str=new String("abcdefghijklmnopqrstuvwxyz");
		int charNum=((int)(Math.random()*100)+1)%26-1;
		Character ch=new Character(str.charAt(charNum));
		session.setAttribute("count",new Integer(0));
		session.setAttribute("TempChar",new Character(ch));
	%>
	<br><a href="guess.jsp">猜字母游戏开始啦</a>
</body>
</html>

guess.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@ taglib tagdir="/WEB-INF/tags/tag" prefix="guessNumber" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>猜字母</title>
</head>
<body>
	<%	
		session.setAttribute("message", "来猜字母吧");
		String str=request.getParameter("guessNumber");
		if(str==null)
			str="*";
		if(str.length()==0)
			str="*";
	%>
	<guessNumber:GuessTag charNum="<%= str %>"/>
	当前猜测结果:<%= message %>
	<%
		String s="恭喜你";
		if(message.startsWith(s)){
	%>		
		<br><a href="hw4_6.jsp">重新获得随机字母</a>
	<%
		}
		else{
	%>	
		<br>输入你的猜测:
		<form action="" method="post" name=form>
			<input type="text" name="guessNumber">
			<input type="submit" value="送出" name="submit">
		</form>
	<%
		}
	%>
</body>
</html>

GuessTag.tag

<%@ tag language="java" pageEncoding="utf-8"%>
<%@ attribute name="charNum" required="true" %>
<%@ variable name-given="message" scope="AT_END" %>
<% 
	String mess="";
	Character ch=(Character)session.getAttribute("TempChar");
	char realchar=ch.charValue();
	char c=(charNum.trim()).charAt(0);
	if(c>='a'&&c<='z'){
		if(c==realchar){
			int n=((Integer)session.getAttribute("count")).intValue();
			n++;
			session.setAttribute("count", new Integer(n));
			mess="恭喜你猜对了,这是第"+n+"次猜测";
		}
		else if(c>realchar){
			int n=((Integer)session.getAttribute("count")).intValue();
			n++;
			session.setAttribute("count", new Integer(n));
			mess="猜大了,这是第"+n+"次猜测";
		}
		else if(c<realchar){
			int n=((Integer)session.getAttribute("count")).intValue();
			n++;
			session.setAttribute("count", new Integer(n));
			mess="猜小了,这是第"+n+"次猜测";
		}
	}
	else{
		mess="请输入a-z之间的字母";
	}
	jspContext.setAttribute("message",mess);
%>

运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值