-1

これが私のフォームです。

form10.html

<form method="get" action="./a"><br>
 FirstName: <input type="text" name="txtname"><br>
 LastName:<input type="text" name="txtlast"><br>
Address:<input type="text" name="txtadd"><br>
<input type="submit" value="submit"><br>
 </form>

これは私のサーブレットページです

Process10.java

    PersonBean p1= new PersonBean();

    p1.setfn(req.getParameter("txtname"));
    fn=p1.getfn();
    req.setAttribute("fn", fn);

    p1.setln(req.getParameter("txtlast"));
    ln=p1.getln();
    req.setAttribute("ln", ln);

    p1.setfn(req.getParameter("txtadd"));
    ca=p1.getca();
    req.setAttribute("ca", ca);

req.setAttribute("p",p1);
RequestDispatcher rd=req.getRequestDispatcher("/display10.jsp");
rd.forward(req,res);
}

}

これは私の豆です

PersonBean.java

public PersonBean()
{
    setfn(fn);
    setln(ln);
    setca(ca);
}
public String getfn()
{
    return(fn);
}
public String getln()
{
    return(ln);
}
public String getca()
{
    return(ca);
}

public void setfn(String newfn)
{
    this.fn=newfn;
}
public void setln(String newln)
{
    this.ln=newln;
}
public void setca(String newca)
{
    this.ca=newca;
}

}

これは私のJSPページです

display10.jsp

<html>
<head><title></title></head><BR>

<body>
<B>Firstname:<%=p1.fn%></b><BR>
<b>Lastname:<%=p1.ln%></b><BR>
<b>Address:<%=p1.ca%></b><BR>

</body>
</html>

これは私の Web.xml です

web.xml

<description>
  Servlet and JSP Examples.
</description>
<display-name>Servlet and JSP Examples</display-name>


    <servlet>
  <servlet-name>jsp</servlet-name>
  <servlet-class>Process10</servlet-class>
   </servlet>
<servlet-mapping>
  <servlet-name>jsp</servlet-name>
  <url-pattern>/a</url-pattern>
</servlet-mapping>
4

3 に答える 3

1

書き込んだ途中の属性にはアクセスできません。ページでその値を確認したい場合は、次のようにします。

${p.fn}

または、 el が気に入らない場合は、次のようにすることができます。

<%= request.getAttribute("p").getFn() %>
于 2012-05-31T06:46:24.557 に答える
0

こんにちは、まだ問題があるかわかりません。しかし、もしあれば、私が変更するいくつかのものがあります。サーブレットのマッピングを変更することをお勧めします。(以前は web.xml を見ていませんでした) しかし、Tomcat の web.xml を確認すると、同じ名前のサーブが既に定義されていることがわかります。

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

次に変更することをお勧めするのは、パッケージを作成し、そのパッケージ内にサーブレット クラスを配置することです。また、web.xml では、Process10 だけでなく完全なクラス名を指定する必要があります。これが役立つことを願っています。

于 2012-06-13T20:13:38.450 に答える
0

私はこれを推測していますが、これは

Firstname:<%=p1.fn%>
Lastname:<%=p1.ln%>
Address:<%=p1.ca%>

これであるべき

Firstname:<%=p.fn%>
Lastname:<%=p.ln%>
Address:<%=p.ca%>
于 2012-05-31T06:05:36.967 に答える