0

JavaファイルでStringBufferを使用してcontextPathを動的に設定しています。ここでは、呼び出しごとに、呼び出しの数に基づいてパスが StringBuffer オブジェクトに追加されます。以下のコードを正しく実行するにはどうすればよいですか。

StringBuffer blankDeposit = new StringBuffer();
                blankDeposit.setLength(0);
                String rcp = request.getContextPath();
                String create = "Create";
                blankDeposit.append("<a href="+rcp+"/deposit/showBlankDepositSheet.do>"+create+"</a>"+"a blank Deposit Sheet.");

                ActionHelper.formatInfoMessage(
                    mapping,
                    request,blankDeposit.toString());

ここblankDepositには、文字列を含む contextPath(/myapp) が必要です。しかし、私はこれの代わりに空白を取得しています。どうすればいいですか。

そして、blankDeposit実行回数で文字列を追加しています。5回呼び出すと、上記の変数 blankDeposit に追加された文字列が5回含まれます。

4

2 に答える 2

0

私は答えを得ました。ここで私は関数にパラメータを渡しています

ActionHelper.formatInfoMessage(mapping, request,blankDeposit.toString()); 

しかし、そのblankDeposit.toString()の代わりに私は

String rcp = request.getContextPath();

次に、この文字列をformatInfoMessageメソッドの引数として送信します。

ActionHelper.formatInfoMessage(mapping,request,"create.a.blank.deposit.sheet",rcp);

このrcp変数の設定をApplication.propertiesファイルに設定します。そこに設定されています

info.create.deposit.sheet=<a href="{0}/deposit/showBlankSheet.do">Create</a> a blank Sheet.
于 2012-01-20T07:29:24.363 に答える
0

これは期待どおりに機能します。contextPath を確認してください。問題がなければ、他のコード ブロックが動作することを確認してくださいblankDeposit

StringBuffer blankDeposit = new StringBuffer();
blankDeposit.setLength(0);
String rcp = "/myapp";
String create = "Create";
blankDeposit.append("<a href="+rcp+"/deposit/showBlankDepositSheet.do>"+create+"</a>"+"a blank Deposit Sheet.");
System.out.println(blankDeposit.toString());

出力:

<a href=/myapp/deposit/showBlankDepositSheet.do>Create</a>a blank Deposit Sheet.
于 2012-01-19T16:55:48.297 に答える