要約を続けます: Java がアクションを渡した後、アクションで返されたデータをフロント デスクに書き込む方法
まず理解してください: HttpServletResponse オブジェクト
(1)。リクエストごとに 1 つ HttpServletRequest オブジェクトと HttpServletResponse オブジェクト。クライアントにデータを送信するには HttpServletResponse を探し、クライアントからデータを取得するには HttpServletRequest を探します。HttpServletResponse オブジェクトは 3 種類のデータを送信できます。 a. 応答ヘッダー b. ステータス コード c. HttpServletResponse の API を参照してください (4). OutputStream を使用して、中国語を書き込みます。クライアント:
response.setHeader("Content-type","text/html;charset=UTF-8");//向浏览器发送一个响应头,设置浏览器的解码方式为UTF-8 String data = "中国"; OutputStream stream = response.getOutputStream(); stream.write(data.getBytes("UTF-8"));
response.setCharacterEncoding("UTF_8");//设置Response的编码方式为UTF-8 response.setHeader("Content-type","text/html;charset=UTF-8");//向浏览器发送一个响应头,设置浏览器的解码方式为UTF-8,其实设置了本句,也默认设置了Response的编码方式为UTF-8,但是开发中最好两句结合起来使用 //response.setContentType("text/html;charset=UTF-8");同上句代码作用一样 PrintWriter writer = response.getWriter(); writer.write("中国");
企業が一般的にどのように使用しているかを見てください: どのように使用されても、それは単なるものですそれをメソッドにカプセル化し、データをフロントデスクに返します
public void searchModelIsUsed() { <strong>HttpServletRequest req = ServletActionContext.getRequest();</strong> boolean result1 = this.voucherTypeService.queryProductionMode(); if(result1==false){ //非生产模式则可修改模板 String result="is_PRODUCTION_MODE"; this.<strong>actionWrite</strong>("{success:'true',info:'" + result + "'}"); }else{ String vmId = req.getParameter("vmId"); boolean result = this.voucherTypeService.checkVoucherModelUsed(vmId); this.actionWrite("{success:'true',info:'" + result + "'}"); } }
actionWrite は次のとおりです:
public void actionWrite(String result) { if(result == null){ result = ""; } HttpServletResponse resp = ServletActionContext.getResponse(); resp.setContentType("text/json;charset=UTF-8"); resp.setHeader("Cache-Control", "no-cache"); PrintWriter pw = null; try { pw = resp.getWriter(); pw.write(result); } catch (IOException e) { throw new EVoucherException("获取http写入流异常" + e.getMessage()); } finally { if (pw != null) { pw.close(); } } }
actionWrite メソッドが HttpServletResponse であることを確認し、関連情報を設定し、PrintWriter を使用してフロント デスクにデータを書き込みます
フロントエンド JS では、バックグラウンドに渡される応答です。データが渡されるのは OK です。
れーい