首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jsp:useBean和jsp:setProperty获取下拉值?

问如何使用jsp:useBean和jsp:setProperty获取下拉值?
EN

Stack Overflow用户
提问于 2010-05-12 05:00:04
回答 1查看 6.2K关注 0票数 0

我有一个用JSP编写的相当简单的表单,如下所示:

代码语言:javascript
复制
<form action="response.jsp" method="POST">
                        <label>First Name:</label><input type="text" name="firstName" /><br>
                        <label>Last Name:</label><input type="text" name="lastName" /><br>
                        <label>Email:</label><input type="text" name="email" /><br>
                        <label>Re-enter Email:</label><input type="text" name="emailRe" /><br>
                        <label>Address:</label><input type="text" name="address" /><br>
                        <label>Address 2:</label><input type="text" name="address2" /><br>
                        <label>City:</label><input type="text" name="city" /><br>
                        <label>Country:</label>
                        <select name="country">
                            <option value="0">--Country--</option>
                            <option value="1">United States</option>
                            <option value="2">Canada</option>
                            <option value="3">Mexico</option>
                        </select><br>
                        <label>Phone:</label><input type="text" name="phone" /><br>
                        <label>Alt Phone:</label><input type="text" name="phoneAlt" /><br>
                        <input type="submit" value="submit" />
                    </form>

但是,当我尝试访问Java类中选择框的值时,得到的结果是null。我试着把它作为一个字符串和一个字符串数组读入,尽管它们似乎都没有获得正确的值。

response.jsp如下所示:

代码语言:javascript
复制
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%!
%>
<jsp:useBean id="formHandler" class="validation.RegHandler" scope="request">
    <jsp:setProperty name="formHandler" property="*" />
</jsp:useBean>
<%
            if (formHandler.validate()) {
%>
<jsp:forward page="success.jsp"/>
<%
            }
            else
            {
%>
<jsp:forward page="retryReg.jsp"/>
<%            }
%>

我已经准备好了Java script验证,但我想确保我涵盖了非JS用户的验证和检查。

RegHandler只是使用name字段来引用表单中的值。

知道如何访问选择框的值吗?

EN

回答 1

Stack Overflow用户

发布于 2010-05-12 08:29:32

在我的机器上工作。

代码语言:javascript
复制
package mypackage;

public class Bean {
    private String country;

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }
}

使用

代码语言:javascript
复制
<%@page pageEncoding="UTF-8"%>

<jsp:useBean id="bean" class="mypackage.Bean" scope="request">
    <jsp:setProperty name="bean" property="*" />
</jsp:useBean>

<!doctype html>
<html lang="en">
    <head><title>SO question 2814402</title></head>
    <body>
        <form>
            <select name="country">
                <option value="1">one</option>
                <option value="2">two</option>
                <option value="3">three</option>
            </select>
            <input type="submit">
            <p>Selected country: ${bean.country}
        </form>
    </body>
</html>

也许二传手是假的?你检查服务器日志了吗?

顺便问一下,你有没有考虑过servlets

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2814402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档