精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-10
/** * * @功能模块: add * @方法说明: 添加一个对象 * @version: 1.0 * @param goodsType * GoodsTypeModel * @return Object spring 自动转换成 json 数据 * @throws */ @RequestMapping(params = "method=add") @ResponseBody public Object add(@ModelAttribute("goodsType") GoodsTypeModel goodsType) { return this.goodsTypeService.add(goodsType);// 返回的对象为:GoodsTypeModel } 返回头部content-type为:application/json 文件上传: /** * * @功能模块: add * @方法说明: 处理 method=add 请求, 添加商品信息 * @version: 1.0 * @param goodsInfo * 商品信息对象,由spring自动获取 * @param model * @return ModelMap 由spring自动生成json数据 * @throws IOException * @throws */ @RequestMapping(params = "method=add") //@ResponseBody public void add(@ModelAttribute("goodsInfo") GoodsInfoModel goodsInfo, HttpServletResponse response) throws IOException { if (!goodsInfo.getMpFile().isEmpty()) { goodsInfo.setGiImg(FileUploadUtil.saveFileUpload(goodsInfo.getMpFile(), GoodsInfoModel.DEFAULT_FILE_UPLOAD_DIR)); } this.goodsInfoService.add(goodsInfo); //return this.goodsInfoService.add(goodsInfo); // EXT 文件上传时,要返回的头部信息类型为 text/html, // 而用@ResponseBody返回的头部信息为application/json所以自动转换类型 // 由于本人能力有限,不知道如果要用@ResponseBody的时候怎么转换,呵呵 JsonUtil.printJSON(response, new Result()); } /* * 多文件上传时,请使用:DefaultMultipartHttpServletRequest public String add(@ModelAttribute("goodsInfo") GoodsInfoModel goodsInfo, DefaultMultipartHttpServletRequest multipartRequest){ List<MultipartFile> mpFiles = multipartRequest.getFiles("mpFile"); String fileNames = null; for(MultipartFile mpFile : mpFiles){ if( ! mpFile.isEmpty()){ if(fileNames!=null){ fileNames += "," + FileUploadUtil.saveFileUpload(mpFile, GoodsInfoModel.DEFAULT_FILE_UPLOAD_DIR); }else{ fileNames = FileUploadUtil.saveFileUpload(mpFile, GoodsInfoModel.DEFAULT_FILE_UPLOAD_DIR); } } } goodsInfo.setGiImg(fileNames); this.goodsInfoService.add(goodsInfo); return "redirect:/Product.do?method=list"; }*/ EXT from 如果提交时添加:fileUpload: true 也就是文件上传时,要求返回的响应头部content-type为:text/html,而@ResponseBody返回的响应头部为:application/html 这时浏览器会要求选择打开XX文件的选项,如要防止此种情况产生,必须修改返回类型为:text/html 用@ResponseBody 本人还没找到解决方法,如有高人,请亮下方法,呵呵。 富文本编辑器本人用的是FCK。配置见 web.xml 根目录:WebRoot/fckeditor, 在EXT中,用的是html方式引入: var htmleditorstr = '<div>' + '<input type="hidden" id="giDescription___Config" value="" style="display:none" />' + '<iframe name="giDescription___Frame" id="giDescription___Frame" ' + 'src="../fckeditor/editor/fckeditor.html?InstanceName=giDescription" ' + 'width="100%" height="400px″ frameborder="0″ scrolling="no"></iframe></div>'; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-12
这问题我也遇到 不知道怎么解决
他会在生成的json成功信息的前后加上<pre></pre> |
|
返回顶楼 | |
发表时间:2010-10-12
oakeye 写道 这问题我也遇到 不知道怎么解决
他会在生成的json成功信息的前后加上<pre></pre> 据说在 json 转换配置文件里面添加一些接受的返回类型就可以了,具体没有深究,改天有空先,呵呵。 |
|
返回顶楼 | |
发表时间:2010-10-12
看 AnnotationMethodHandlerAdapter messageConverters
|
|
返回顶楼 | |
发表时间:2010-10-13
中文容易出现乱码
|
|
返回顶楼 | |
发表时间:2010-10-13
@RequestMapping(params = "method=login") public ResponseEntity<String> doFirst(@RequestParam("u") String u,@RequestParam("p") String p,HttpSession session,ModelMap model){ HttpHeaders headers = new HttpHeaders(); MediaType mt=new MediaType("text","html",Charset.forName("gbk")); headers.setContentType(mt); ResponseEntity<String> re=null; String return = new String("test"); re=new ResponseEntity<String>(return,headers, HttpStatus.OK); return re; }这样可以自定义 返回的响应头部content-type |
|
返回顶楼 | |
发表时间:2010-10-13
Jophy 写道 @RequestMapping(params = "method=login") public ResponseEntity<String> doFirst(@RequestParam("u") String u,@RequestParam("p") String p,HttpSession session,ModelMap model){ HttpHeaders headers = new HttpHeaders(); MediaType mt=new MediaType("text","html",Charset.forName("gbk")); headers.setContentType(mt); ResponseEntity<String> re=null; String returnString = new String("test"); re=new ResponseEntity<String>(returnString, headers, HttpStatus.OK); return re; }这样可以自定义 返回的响应头部content-type 非常感谢 Jophy 童鞋, 问题解决了。 |
|
返回顶楼 | |
发表时间:2010-10-20
楼上怎么解决的,在大家分享一下!我也要弄这个。
|
|
返回顶楼 | |
发表时间:2010-10-22
lshoo 写道 楼上怎么解决的,在大家分享一下!我也要弄这个。
那个示例就是解决方法啊。 |
|
返回顶楼 | |
发表时间:2010-12-29
最后修改:2010-12-30
哈哈,解决了,
public void importData(@RequestParam("file") MultipartFile file,HttpServletResponse response,ModelMap modelMap){ int num=0; try{ if(!file.isEmpty()){ // 获得inputstream InputStream inputstream = file.getInputStream() ; num = getXlsData(inputstream); inputstream.close(); file=null; } String msg = "没有数据"; if(num>0){ msg = "导入成功"; } response.setContentType("text/html;charset=utf-8"); response.getWriter().write("{success:true,msg:'"+msg+"'}"); }catch(Exception e){ e.printStackTrace(); } } |
|
返回顶楼 | |