gpt4 book ai didi

java - 如何使用jsp获取下拉值:useBean and jsp:setProperty?

转载 作者:行者123 更新时间:2023-12-01 16:04:55 27 4
gpt4 key购买 nike

我在 JSP 中有一个相当简单的表单,如下所示:

<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 如下所示:

<%@ 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 脚本验证,但我想确保我涵盖了非 JS 用户的验证和检查。

RegHandler 仅使用名称字段来引用表单中的值。

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

最佳答案

在我的机器上工作。

package mypackage;

public class Bean {
private String country;

public String getCountry() {
return country;
}

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

<%@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>

也许 setter 是假的?你检查过服务器日志吗?

顺便问一下,你考虑过servlets吗? ?

关于java - 如何使用jsp获取下拉值:useBean and jsp:setProperty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com