jsp:getParameter 和 jsp:getProperty
时间: 2024-12-02 09:14:44 浏览: 19
在JavaServer Pages (JSP) 中,`<jsp:getParameter>` 和 `<jsp:getProperty>` 都是EL (Expression Language) 标签,用于从HTTP请求中获取参数或对象的属性值。
1. `<jsp:getParameter>`:主要用于获取URL查询字符串中的参数。它接受两个参数:
- name:需要查找的参数名。
- defaultValue:如果没有找到指定的参数,默认返回的值。
例子:
```jsp
<jsp:getParameter name="username" value="${defaultValue}" />
```
如果请求中有名为"username"的参数,则返回其值,否则返回默认值。
2. `<jsp:getProperty>`:更通用,适用于获取对象的属性值。它接收三个参数:
- bean:需要操作的对象实例。
- property:需要获取的属性名。
- defaultValue:如果属性不存在或者bean为null,返回的默认值。
例子:
```jsp
<jsp:getProperty name="user" property="name" value="" />
```
这里假设有个名为"user"的对象,并试图获取其"name"属性,如果属性不存在或对象为空,就返回默认值""。
相关问题
掌握JSP使用JavaBean标签jsp:useBean、jsp:setProperty、jsp:getProperty用法 开发一个动态网页计算器JSP服务应用,该服务页面能帮用户实现动态加、减、乘、除、求余计算。
好的,下面是一个简单的动态网页计算器JSP服务应用的示例代码,供您参考:
1. 创建JavaBean类
首先,您需要创建一个JavaBean类,用于计算器的逻辑实现。该类需要包含计算器的各种功能方法,如加、减、乘、除、求余等。在该类中,您需要定义一个与计算器界面中各个输入框、按钮对应的成员变量,并在该类中实现计算器逻辑方法。
代码示例:
```
public class Calculator {
private double num1;
private double num2;
private String operator;
private double result;
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public double getResult() {
switch(operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if(num2 == 0) {
result = Double.NaN;
} else {
result = num1 / num2;
}
break;
case "%":
result = num1 % num2;
break;
default:
result = Double.NaN;
break;
}
return result;
}
}
```
2. 创建JSP页面
接下来,您需要创建一个JSP页面,用于展示计算器界面和处理用户的输入。在该页面中,您需要使用<jsp:useBean>标签创建JavaBean对象,并使用<jsp:setProperty>标签将页面中各个输入框、按钮的值设置到JavaBean对象的成员变量中。在计算结果时,您需要使用<jsp:getProperty>标签获取JavaBean对象的成员变量的值,并进行计算。
代码示例:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.example.calculator.Calculator" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动态网页计算器</title>
</head>
<body>
<h1>动态网页计算器</h1>
<form method="post">
<input type="text" name="num1" value="${calculator.num1}" />
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
<option value="%">%</option>
</select>
<input type="text" name="num2" value="${calculator.num2}" />
<input type="submit" value="=" />
<input type="text" name="result" value="${calculator.result}" />
</form>
<%
Calculator calculator = (Calculator) request.getAttribute("calculator");
if(calculator == null) {
calculator = new Calculator();
}
calculator.setNum1(Double.parseDouble(request.getParameter("num1")));
calculator.setNum2(Double.parseDouble(request.getParameter("num2")));
calculator.setOperator(request.getParameter("operator"));
request.setAttribute("calculator", calculator);
%>
</body>
</html>
```
在该页面中,您需要先使用<%@ page import="com.example.calculator.Calculator" %>导入JavaBean类的包。然后,使用<jsp:useBean>标签创建名为"calculator"的JavaBean对象,并指定类名和作用域。接着,使用<input>和<select>标签创建输入框和下拉框,用于输入两个数和运算符。在提交表单后,您需要使用<jsp:getProperty>标签获取JavaBean对象的成员变量num1、num2和operator的值,并在JavaBean对象中进行计算。最后,使用<jsp:setProperty>标签将计算结果设置到结果输入框中,并将JavaBean对象设置到请求属性中。
3. 测试应用
最后,您需要部署和测试该应用。您可以将JavaBean类和JSP页面放到Web应用程序的WEB-INF/classes目录下和WEB-INF目录下,然后启动Web服务器,在浏览器中输入应用程序的URL地址进行测试。
以上就是一个简单的动态网页计算器JSP服务应用的开发过程和示例代码,供您参考。
五、编写两个JSP页面index.jsp和actionpage.jsp以及一个Bean(20分) 要求: index.jsp页面提供一个表单,用户可以通过表单提交一个圆的半径给actionpage.jsp,页面actionpage.jsp调用一个Request Bean (Circle.java)去完成计算该圆的面积和周长,actionpage.jsp页面使用 getProperty 动作标记显示计算该圆的面积和周长,要求必须使用javabean编写。
好的,我明白了,以下是回答:
首先,我们需要创建一个JavaBean来计算圆的面积和周长。我们可以创建一个名为Circle的JavaBean,它有一个名为radius的属性和两个计算圆面积和周长的方法。
Circle.java
```java
public class Circle {
private double radius;
public void setRadius(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
接下来,我们需要创建一个名为index.jsp的JSP页面,该页面提供一个表单以接收圆的半径,并将其提交给actionpage.jsp。
index.jsp
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Circle Form</title>
</head>
<body>
<form action="actionpage.jsp" method="post">
Enter the radius of the circle: <input type="text" name="radius"><br>
<input type="submit" value="Calculate">
</form>
</body>
</html>
```
现在,我们需要创建一个名为actionpage.jsp的JSP页面,该页面将接收从index.jsp提交的圆的半径,并使用Circle.java计算圆的面积和周长。使用JSP的getProperty动作标记来显示计算结果。
actionpage.jsp
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Circle Calculation</title>
</head>
<body>
<%
// 获取圆的半径
double radius = Double.parseDouble(request.getParameter("radius"));
// 创建Circle对象并设置半径
Circle circle = new Circle();
circle.setRadius(radius);
// 显示计算结果
%>
<p>The area of the circle is <%= circle.getArea() %>.</p>
<p>The perimeter of the circle is <%= circle.getPerimeter() %>.</p>
</body>
</html>
```
现在,我们已经完成了两个JSP页面和一个JavaBean,可以在Web应用程序中使用它们来计算圆的面积和周长。
阅读全文