【问题标题】:how to get the value of a dynamically generated radio button in servlet如何获取servlet中动态生成的单选按钮的值
【发布时间】:2015-04-19 03:55:01
【问题描述】:

我想在servlet中获取一个动态生成的单选按钮的值,下面是我的jsp代码

 <c:forEach items="${questions1}" var="quest">
            <tr>
                
                <td>${quest.questions}</td>
                
            </tr>
            
            <tr>
                <td><input name="${quest.questionId}" type="radio" value="${quest.option1}" />${quest.option1}</td>
            </tr>
            <tr>
                <td><input name="${quest.questionId}" type="radio" value="${quest.option2}" />${quest.option2}</td>
            </tr>
            <tr>
                <td><input name="${quest.questionId}" type="radio" value="${quest.option3}" />${quest.option3}</td>
            </tr>
            <tr>
                <td><input name="${quest.questionId}" type="radio" value="${quest.option4}" />${quest.option4}</td>
            </tr>
            <tr>
                <td><input name="${quest.questionId}" type="radio" value="${quest.correctAns}" />${quest.correctAns}</td>
            </tr>
            <tr><td><input name="hcorrectAns" type="hidden" value="${quest.correctAns}" /></td></tr>
            </c:forEach>

我尝试过使用request.getParameter("quest.questionId");request.getParameter("${quest.questionId}") 它不起作用,因为我得到了空值。谢谢

【问题讨论】:

  • 你试过request.getParameter("put the actual question ID here")吗?
  • request.getParameter(quest.questionId); ,但你需要 quest 对象..
  • 对不起,我有点困惑,我如何创建任务对象?

标签: java jsp servlets jstl


【解决方案1】:

您可以先使用request.getParameterNames() 来获取request 参数中的所有参数名称。

Enumeration<String> paramNames = request.getParameterNames();

然后您可以遍历它以获取所有这些参数的值。

while(paramNames.hasMoreElements()) {
    String paramName = (String)paramNames.nextElement();
    String[] paramValues = request.getParameterValues(paramName);
    if (paramValues.length == 1) {
        String paramValue = paramValues[0];
        if (paramValue.length() == 0){
            //No Value;
        }else{
           //You have the value in paramValue);
        }
    else {
        //get all values one by one
        for(int i=0; i<paramValues.length; i++) {
             //get paramValues[i];
        }
    }
}

我希望,它将涵盖所有类型的动态生成的数据

【讨论】:

  • 感谢您的帮助,但我的问题是,当在 servlet 中获取选定的单选按钮时,由于单选按钮的名称,它会获得空值。
【解决方案2】:

试试这个:

List<String> params = Collections.list(request.getParameterNames());//Get param name
for (String p: params)
{
  System.out.println(request.getParameter(p));// get param value for each param
}

【讨论】:

    猜你喜欢
    • 2013-05-25
    • 2018-06-03
    • 1970-01-01
    • 2017-06-20
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多