我在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
应该有带有String的contextPath(/ myapp)。但我得到一个空白而不是这个。我该怎么做呢。
并且blankDeposit
按照我运行的次数追加字符串。如果我调用五次,则上面的变量blankDeposit包含五倍的附加字符串。
答案 0 :(得分: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.
答案 1 :(得分: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.