@RequiresPermissions("pis:specimenCutting:edit") @RequestMapping(value = "cassettePrintChooseRedirect") public String cassettePrintChooseRedirect(HttpServletRequest request, Model model //@RequestParam(value = "channel",required = false)Integer channel ) { Long id = Long.parseLong(request.getParameter("id")); Accession accession = accessionService.get(id); model.addAttribute("accession", accession); return "frames/cassettePrintChoose"; } /** * 打印包埋盒 * * @param datas * @param model * @return * @throws Exception * , */ // com.lumanmed.pathinfo.modules.pis.service.impl; 本地文件服务 @RequiresPermissions("pis:specimenCutting:edit") @RequestMapping(value = "print") @SuppressWarnings("all") public String print( @RequestParam(required = false, value = "datas") String datas, @RequestParam(required = false,value = "channel")String channel, Model model, HttpServletRequest request, HttpServletResponse response) throws Exception, IOException { String[] nos = datas.split(";"); // JSONArray jsonArray=new JSONArray(datas); StringBuilder sb = new StringBuilder(); for (String no : nos) { if (StringUtils.isNotBlank(no)) { sb.append(no + "\r\n"); } } System.out.println(request.getParameter("channel")); //String channels = request.getParameter("channel"); System.out.println("通道类型:"+channel); response.getWriter().write(sb.toString()); response.addHeader("Content-Disposition", "attachment;filename=download.txt"); response.setContentType("application/octet-stream; charset=utf-8"); response.getWriter().close(); System.out.println("写入成功"); return "/modules/pis/specimenCuttingPrint"; } @RequestMapping(value = "getFrozenCuttingByNo") @ResponseBody public SpecimenCutting getFrozenCuttingByNo( @RequestParam(value = "no") String no, HttpServletRequest request ) { String fsNo = "FS" + no.substring(no.indexOf("-")); Accession acc = accessionService.getAccessionLike(fsNo + "%"); if (acc == null) { return null; } else { return acc.getSpecimenCutting(); } }
<div> <form id="autoform" name="autoform" action="${ctx}/pis/specimenCutting/print" method="get" > <script language="JavaScript"> setTimeout("autoform.submit();",0); </script> <label>请选择包埋盒通道:</label> <!-- onchange="document.getElementById("sel_text").value=options[selectedIndex].text" onchange="testselection()" --> <select required="required" id="channel" name="channel" onclick="testselection(channel)"> <option selected="selected" >--请选择--</option> <option id="white" value="1" >白色</option> <option id="red" value="2" >红色</option> <option id="blue" value="3" >蓝色</option> </select> <input type="submit" value="获取selectvalue值" onclick="testdata()" /> <!-- <input type="hidden" id="sel_text"> --> <input type="submit" style="display: none;" > </form> </div> <script type="text/javascript"> function testselection(optionval){ $("#channel").change(function(){ //带回value值 //var optionval=$("#channel").val(); //选中的值 var optionval = $('#channel option:selected') .val(); }) } </script> <script type="text/javascript"> function testdata(){ alert($("#channel").val()); } </script> </div>
测试过js可以正常获取到值,就是controller获取不到值。channel为null,急解。拜托各位哥哥姐姐帮忙解答下。