一,引言
本文针对jsp中javaBean的应用编写,不再进行美化操作。
如果代码编辑有问题或者有更好的思路请一定要私聊我,谢谢。
二,javaBean代码
对于四则运算,共有以下四个变量:
1,运算数A(sumA)
2,运算符号(fuhao)
3,运算数B(sumB)
4,结果(result)
所以进行如下定义:
private double numA;
private double numB;
private String fuhao="";
private double result;
注:在定义fuhao时需先赋值为空,防止第一次启动页面时报错
定义后进行set、get操作:
public double getNumA() {
return numA;
}
public void setNumA(double numA) {
this.numA = numA;
}
public double getNumB() {
return numB;
}
public void setNumB(double numB) {
this.numB = numB;
}
public String getFuhao() {
return fuhao;
}
public void setFuhao(String fuhao) {
this.fuhao = fuhao;
}
public double getResult() {
if(fuhao.equals("/"))
return numA/numB;
else if(fuhao.equals("-"))
return numA-numB;
else if(fuhao.equals("*"))
return numA*numB;
else
return numA+numB;
}
public void setResult(double result) {
this.result = result;
}
注:在写fuhao的判断语句时将“+”放在最后一个,防止在第一次进入页面时出现0/0的错误
定义完成命名为computerBean,放在com文件夹下
三,jsp部分
在jsp中分为以下几个部分:
1,与JavaBean的连接部分
2,form表单
在form表单中:
在表单中使用select属性写下拉框:
<form>
<input type="text" name="numA"/>
<select name="fuhao">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="numB"/><br>
<input type="submit" value="提交">
</form>
四,完整代码
文件computerBean(在com文件夹下)
package com;
public class computerBean {
private double numA;
private double numB;
private String fuhao="";
private double result;
public double getNumA() {
return numA;
}
public void setNumA(double numA) {
this.numA = numA;
}
public double getNumB() {
return numB;
}
public void setNumB(double numB) {
this.numB = numB;
}
public String getFuhao() {
return fuhao;
}
public void setFuhao(String fuhao) {
this.fuhao = fuhao;
}
public double getResult() {
if(fuhao.equals("/"))
return numA/numB;
else if(fuhao.equals("-"))
return numA-numB;
else if(fuhao.equals("*"))
return numA*numB;
else
return numA+numB;
}
public void setResult(double result) {
this.result = result;
}
}
文件index.jsp:
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>四则运算</title>
</head>
<body>
<jsp:useBean id="js" class="com.computerBean" scope="page"></jsp:useBean>
<form>
<input type="text" name="numA"/>
<select name="fuhao">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="numB"/><br>
<input type="submit" value="提交">
</form>
<jsp:setProperty property="*" name="js"/>
<h3>计算结果:</h3>
<jsp:getProperty property="result" name="js"/>
</body>
</html>
结果如图:
5月9日改
更改目录:新增在输入数字后保持原数字和原符号不变的功能
具体实现如下:
1,保持符号不变
利用select语句中的selected属性和“?:”判断方法,若传来的参数与某一符号相同,则这一符号为selected属性。
代码如下:
<select name="fuhao">
<option value="+" <%=js.getFuhao().equals("+")?"selected":"" %>>+</option>
<option value="-" <%=js.getFuhao().equals("-")?"selected":"" %>>-</option>
<option value="*" <%=js.getFuhao().equals("*")?"selected":"" %>>*</option>
<option value="/" <%=js.getFuhao().equals("/")?"selected":"" %>>/</option>
</select>
2,保持输入数字不变
在input语句中传入输入的参数即可
代码如下:
<input type="text" name="numA" value= '<jsp:getProperty property="numA" name="js"/>'/>
<input type="text" name="numB" value= '<jsp:getProperty property="numB" name="js"/>'/>
注:为了代码更加严谨,这里把JavaBean的get方法放在了jsp:useBean之后
代码如下:
<jsp:useBean id="js" class="com.computerBean" scope="page"></jsp:useBean>
<jsp:setProperty property="*" name="js"/>
更改后的jsp文件代码如下:
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>四则运算</title>
</head>
<body>
<jsp:useBean id="js" class="com.computerBean" scope="page"></jsp:useBean>
<jsp:setProperty property="*" name="js"/>
<form>
<input type="text" name="numA" value= '<jsp:getProperty property="numA" name="js"/>'/>
<select name="fuhao">
<option value="+" <%=js.getFuhao().equals("+")?"selected":"" %>>+</option>
<option value="-" <%=js.getFuhao().equals("-")?"selected":"" %>>-</option>
<option value="*" <%=js.getFuhao().equals("*")?"selected":"" %>>*</option>
<option value="/" <%=js.getFuhao().equals("/")?"selected":"" %>>/</option>
</select>
<input type="text" name="numB" value= '<jsp:getProperty property="numB" name="js"/>'/><br>
<input type="submit" value="提交">
</form>
<h3>计算结果:</h3>
<jsp:getProperty property="result" name="js"/>
</body>
</html>