我创建了一个表单,用户将在1.jsp中选中复选框,选择单选按钮和下拉...
我想使用1.jsp中的信息来确定2.jsp ...
的输出jsfiddle for 1.jsp:http://jsfiddle.net/VWczQ/
action="/2.jsp">
现在在2.jsp我有这个:
<% if(request.getParameter("extra") != null) { %>
<page:cmsElement id="cmsContent" name="/otcmarkets/traderAndBroker/market-data-vendors/wizard-results" />
<% } else if(request.getParameter("all") != null) { %>
<page:cmsElement id="cmsContent" name="/otcmarkets/traderAndBroker/market-data-vendors/con-all" />
<% } else { %>
<h1>holy crap everything is null!!!</h1>
<% } %>
当我从表单中随机选择选项时,一切都是NULL ...
我做错了什么?!?
答案 0 :(得分:5)
您似乎期望HTML输入元素的id
属性已作为请求参数名称发送。这是错的。它是作为请求参数名称发送的name
属性。它的值是value
attribtue,它是在命名的输入元素上设置的。
所以,而不是例如你的错误检查
if(request.getParameter("extra") != null) {
// ...
}
以下单选按钮
<input type="radio" name="choice" value="extranet" id="extra"/>
您需要按名称choice
获取参数,并测试其值是否为extranet
。
if ("extranet".equals(request.getParameter("choice"))) {
// ...
}
关于all
复选框,我很困惑。可以发送两个值,但您在if-else
中检查它们。 all
不应该在同一个单选按钮组中吗?你不应该删除else
吗?无论如何,重点应该是明确的。输入元素“name
属性”作为请求参数名称发送,而不是id
属性。