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按我运行的次数附加字符串。如果我调用五次,那么上面的变量 blankDeposit 包含五倍的附加字符串。

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

这按预期工作。检查上下文路径。如果没问题,请检查任何其他代码块是否适用于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 回答