0

我正在练习 Servlet 和 JSP,但遇到了一个场景

这是我的 html 页面代码。

<!DOCTYPE html>
<html>
<head>
  <meta charset="ISO-8859-1">
  <title>Home</title>
</head>
<body>
    <form action="Second.jsp" method="post">
        <p>Name:<input type="text" name="name"/>
        <p>Employee Id:<input type="text" name="empId" />
        <p><input type="submit" value="Enter" />
    </form>
</body>
</html>

JSP 代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Insert title here</title>
</head>
<body>    
    <jsp:useBean id="person" class="com.Person" scope="request">
        <jsp:setProperty name="person" property="name" />
    </jsp:useBean>
    <jsp:getProperty property="name" name="person"/>
</body>
</html>

人.java

package com;

public class Person {
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

我的请求直接转到 jsp 并且表单元素名称和 bean 属性名称匹配,因此不需要 tp 在 jsp:setProperty 中设置值

但是 getProperty 显示为空。

4

2 回答 2

0

在第二页中只需使用:

${param.name}${param.empId}

于 2013-09-08T09:25:55.063 回答
0

你错过了这个param属性。

<jsp:useBean id="person" class="com.Person" scope="request">
    <jsp:setProperty name="person" property="name" param="name" />
</jsp:useBean>
于 2013-09-08T09:29:19.897 回答