怎么把forEach循环出来的多个radio,提交到后台,并将它存入数据库,急,请大家帮忙,谢谢!

怎么把forEach循环出来的多个radio,提交到后台,并将它存入数据库,急,请大家帮忙,谢谢!,第1张

你页面写的有问题

循环出来一整页的radio name都叫answerResult

根据radio的特性这些radio只能选中一个的

后台只能获取到1个answerResult

这样比较好

<c:forEach items="${papertopics}" var="topics" varStatus="status">

<tr><td width="48"> <input type="radio" name="answerResult${statusindex }" value="A" /> A ${topicstopicOptionA}</td> </tr>

<tr> <td width="48"> <input type="radio" name="answerResult${statusindex }" ivalue="B" /> A ${topicstopicOptionB}</td></tr>

<tr> <td width="48"> <input type="radio" name="answerResult${statusindex }" value="C" /> A ${topicstopicOptionC}</td></tr>

<tr><td width="48"> <input type="radio" name="answerResult${statusindex }" value="D" /> A ${topicstopicOptionD}</td></tr>

</c:forEach>

后台

//获取所有参数Map

Map map = requestgetParameterMap();

//循环Map

Set<String> key = mapkeySet();

for (Iterator it = keyiterator(); ithasNext();) {

String s = (String) itnext();

//以answerResult开头的参数就是结果,第几题可以去判断后面跟的数字

if(sstartWith("answerResult")){

Systemoutprintln("第"+sreplace("answerResult","")+"题的结果是:"+mapget(s)toString());

}

}

设置一个ID,

<c:set var="position" value="0"/>

<c:forEach>

<input name="sellpriceLine${position}"/>

<input name="sellprice${position}"/>

<c:set var="position" value="${position+1}"/>

</c:forEach>

在servlet,已知listinfor03的size(可在页面设置hidden),

for(int i=0;i<size;i++){

String sellpriceLine = requestgetParameter("sellpriceLine"+i);

String sellprice= requestgetParameter("sellprice"+i);

insert into database

}

明白了吗?

// 创建请求ID标志, uniqid 无法保证唯一, 自己去搜索生成唯一的方法

$uuid = uniqid();

$tsk_name = "mytask";

$time_out = 30000; // 超时策略: 30秒

$time_start = time();

$redis->rPush($tsk_name, $uuid); // 右(后)插入队列

// 堵塞等待队列中第一个和$uuid匹配的(到我了)

while($uuid != $redis->lGet($tsk_name, 0)){

if((time()-$time_start)> $time_out) {

break; // 超时跳出(某些原因队列异常了, 可能永远取不到)

}

usleep(10); // sleep 10ms, 再次尝试

}

// 这里执行任务的处理代码

// $response 已拼装好要返回的内容

// 处理完成后(数据库等已入库更新), 需要:

if($redis->lGet($tsk_name, 0) == $uuid){ // 再次确认第一个是本请求

$redis->lPop($tsk_name); // 完成任务了, 从队列中移除

}else{

// 出现这种情况, 是因为超时了, 或前面的$uuid没有被消费

// 若不清除, 后续的请求, 都将无法正常进入队列执行

// 取队列中的所有$uuid

$queues = $redis->lRange($tsk_name, 0, -1);

foreach($queues as $i=>$uid){

if($uid==$uuid){

加一个 where = ${uid} insert into pub_attachments(vchr_id,vchr_domain) values(GUIDNewID,'ibm') where = ${uid}

以上就是关于怎么把forEach循环出来的多个radio,提交到后台,并将它存入数据库,急,请大家帮忙,谢谢!全部的内容,包括:怎么把forEach循环出来的多个radio,提交到后台,并将它存入数据库,急,请大家帮忙,谢谢!、将jsp页面中c:forEach循环出的多个name的值传递到servlet中并写入数据库、php redis 队列 会出现并发问题吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9436558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存