一尘不染

为什么我的jsp request.getParameter()无法获取数据?

jsp

香港专业教育学院创建了一种表单,用户可以在其中选中复选框,选择单选按钮并在1.jsp中下拉菜单…

我想使用1.jsp中的信息来确定2.jsp的输出…

适用于1.jsp的jsfiddle: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 …

我究竟做错了什么?!?


阅读 516

收藏
2020-06-08

共1个答案

一尘不染

您似乎期望idHTML输入元素的属性作为请求参数名称发送。错了
name是作为请求参数名称发送的属性。然后,其值就是value在命名输入元素上设置的属性。

因此,而不是例如您的错误检查

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吗?无论如何,要点很明确。输入元素nameid属性作为请求参数名称而不是属性发送。

2020-06-08