提交表单后台如何返回json?前台没有弹出提示框,而是返回了一个空白页面

发布于 2021-12-01 03:15:50 字数 1934 浏览 804 评论 11

希望点击保存按钮后,后台进行添加操作,添加成功后提示添加成功。

jsp页面


<div class="pageContent">
	<form method="post" action="/SmartNetRoot/product/addProduct" class="pageForm required-validate" onsubmit="return validateCallback(this);">
		<div class="pageFormContent" layoutH="56">
			<p>
				<label>产品名称:</label>
				<input name="newProductName" type="text" size="30"  class="required"/>
		</div>
		<div class="formBar">
			<ul>
				<!--<li><a class="buttonActive" href="javascript:;"><span>保存</span></a></li>-->
				<li><div class="buttonActive"><div class="buttonContent"><button type="submit" >保存</button></div></div></li>
				<li>
					<div class="button"><div class="buttonContent"><button type="button" class="close">取消</button></div></div>
				</li>
			</ul>
		</div>
	</form>
</div>




后台controller


@RequestMapping("/addProduct")
	public ModelAndView addProduct(HttpServletRequest request, HttpServletResponse response) throws IOException {
		
		String newProductName = request.getParameter("newProductName");
		System.out.println("新产品添加成功!");
		
		System.out.println(newProductName);
		
		JSONObject dwzServerJson = new JSONObject();
		dwzServerJson.put("statusCode", "200");
		dwzServerJson.put("message", "111");
		dwzServerJson.put("navTabId", "productView");
		dwzServerJson.put("rel", "");
		dwzServerJson.put("callbackType", "closeCurrent");
		dwzServerJson.put("forwardUrl", "");
		
		request.setAttribute("json", dwzServerJson);

		 return null;
	}




如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

嘦怹 2021-12-04 20:59:21

是的,刚刚开始学习,照搬了一个例子

柳絮泡泡 2021-12-04 20:57:58

这代码写的我也是醉了,这是完全不懂spring的节奏呀。

像你 2021-12-04 20:57:03

啦咔咔

猫性小仙女 2021-12-04 20:52:20

@ResponseBody就可以返回json了,

情栀口红 2021-12-04 20:32:58

DWZ框架不是默认采用ajax提交的吗?还需要自己再写ajax?

眉黛浅 2021-12-04 19:58:07

回复
按照你的代码来看是用的form 交的。

剑心龙吟 2021-12-04 18:22:17

@RequestMapping("/addProduct")
@ResponseBody
public ModelAndView addProduct(HttpServletRequest request, HttpServletResponse response) throws IOException { 
        String newProductName = request.getParameter("newProductName");
        System.out.println("新产品添加成功!"); 
        System.out.println(newProductName); 
        Map<String, Object> result =new HashMap<String, Object>(); 
        result.put("statusCode", "200");
        result.put("message", "111");
        result.put("navTabId", "productView");
        result.put("rel", "");
        result.put("callbackType", "closeCurrent");  
         return result;
    }

这样返回的是json, 但是你提交的时候要自己写ajax提交。

倚栏听风 2021-12-04 17:29:45

需要返回json,前台显示msg框

因为看清所以看轻 2021-12-04 17:07:42

你这个应该用的是spring。 你提交后是要跳转页面还是返回json? 如果说你要跳转页面那么你在代码里没有返回页面。 如果说只要返回json在判断提示可以用
@ResponseBody注解~ 

够钟 2021-12-02 09:18:34

controller

response.setContentType("application/json;charset=UTF-8"); 
response.setCharacterEncoding("UTF-8"); 
PrintWriter pw = response.getWriter(); 
pw.write(JsonUtil.toJson(obj)); 
pw.flush();  

偏爱自由 2021-12-02 07:41:37

问题已解决。

【服务器端】

使用@ResponseBody注解,返回json数据

【jsp页面】

服务器端修改后IE可以解析json,但是会弹出下载框,需要对form进行设置

<form method="post" action="url" class="pageForm required-validate" onsubmit="return validateCallback(this);">

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文