JavaWeb がバックグラウンド データをフロント ページ HttpServletResponse および HttpServletRequest_html/css_WEB-ITnose に渡す方法

WBOY
リリース: 2016-06-24 11:50:50
オリジナル
2798 人が閲覧しました

要約を続けます: 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"));
ログイン後にコピー



b. Use Writer がクライアントに中国語を書きます:

   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("中国");
ログイン後にコピー


企業が一般的にどのように使用しているかを見てください: どのように使用されても、それは単なるものですそれをメソッドにカプセル化し、データをフロントデスクに返します

Action:

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 を使用して表示データをフロントデスクに返します


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 です。

れーい






ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート