效果图:界面很简洁,没有对界面进行修饰
结构图:
jiekou.java
package abc; public interface jiekou { public int cssjs(int a,int b); //产生随机数 }
jiekoushixian.java
package abc; import java.util.Random; public class jiekoushixian implements jiekou{ @Override public int cssjs(int a, int b) { // TODO Auto-generated method stub Random rand = new Random(); int zhi; // zhi=rand.nextInt(b)+(a+1); zhi = rand.nextInt(b)%(b-a+1) + a; System.out.println("zhi:"+a); /* for(int i=0; i<10; i++) { System.out.println(rand.nextInt(100) + 1); } */ return zhi; } }
quedingAction.java
package action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware; import abc.jiekoushixian; import com.opensymphony.xwork2.ActionSupport; public class quedingAction extends ActionSupport implements ServletRequestAware{ HttpServletRequest request; /** * */ private static final long serialVersionUID = 1L; public String registUser() throws Exception{ String a = request.getParameter("one"); //以字符串的形式获取前台所给出的值 String b = request.getParameter("two"); // System.out.println("one:"+a+" two:"+b); jiekoushixian jiekoushixian1 = new jiekoushixian(); //实例化实现类 int a1=Integer.valueOf(a); //将获取的字符串形式的数据转换成int int b1=Integer.valueOf(b); // System.out.println("(int)_one:"+a+" two:"+b); int zhi = jiekoushixian1.cssjs(a1, b1); //调用方法求随机数 String zhi1 = String.valueOf(zhi); System.out.println("action:"+zhi1); request.setAttribute("kind", zhi1); //将所求的随机数传给前台 request.setAttribute("one", a); request.setAttribute("two", b); request.setAttribute("frist", "YES"); //传给前台frist变量为YES,表示非非第一次显示index界面 return "regist"; } @Override public void setServletRequest(HttpServletRequest request) { // TODO Auto-generated method stub this.request = request; } }
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts/apache.org/dtds/struts-2.0.dtd"> <struts> <package name ="ch10" namespace="/user" extends="struts-default"> <action name = "regist" class = "action.quedingAction" method = "registUser"> <result name = "regist">/index.jsp</result> </action> </package> </struts>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Insert title here</title> </head> <body> <form action="user/regist" method="post"> 选择范围 <!-- <input type = "text" name = "zhi" value = "53"> --> <% int a=1; String frist = (String)request.getAttribute("frist"); if(frist!="YES"){ System.out.println("NO"); %> <input type="text" name="one">~<input type = "text" name = "two"><br> <input type="submit" value="确定" /><br> 结果: <input type = "text" name = "zhi" > <% } else if(frist.equals("YES")){ String kind = (String)request.getAttribute("kind"); System.out.println("jsp:"+kind); int zhi=Integer.valueOf(kind); String Sone = (String)request.getAttribute("one"); String Stwo = (String)request.getAttribute("two"); int ione=Integer.valueOf(Sone); int itwo=Integer.valueOf(Stwo); %> <input type="text" name="one" value = "<%=ione%>">~<input type = "text" name = "two" value = "<%=itwo%>"><br> <input type="submit" value="确定" /><br> 结果: <input type = "text" name = "zhi" value = "<%=zhi%>"> <% } %> </form> </body> </html> <!-- <form action="user/regist" method="post"> --> <!-- <input type="submit" value="Submit" /> --> <!-- </form> -->