左开括号弄乱了我的字符串缓冲区

发布于 2024-10-17 20:45:14 字数 826 浏览 3 评论 0原文

我得到了一个字符串缓冲区,然后将其放入一个 bean 中并使用 JSTL 在网页上调用。我希望它输出类似 10/10/1987(23 年) 的内容。第一个示例不返回任何内容,而第二个示例则返回任何内容。

patAge.append(" ")
      .append("(")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

输出:10/10/1987

patAge.append(" ")
      .append("{")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

输出:10/10/1987 {23 年)

patAge.append(" ")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

输出:10/10/1987 23 年)

它似乎左开括号导致它不起作用。

I got a string buffer which I then put into a bean and call on a webpage with JSTL. I want it to output something like 10/10/1987 (23 years). The first example doesn't return anything and the second example does.

patAge.append(" ")
      .append("(")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

output: 10/10/1987

patAge.append(" ")
      .append("{")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

output: 10/10/1987 {23 years)

patAge.append(" ")
      .append(patientDetails.getAge())
      .append(" ")
      .append(bpt.get("BPT_YRS"))
      .append(")");

output: 10/10/1987 23 years)

It seems that the left open parenthesis causes that it doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

东北女汉子 2024-10-24 20:45:14

对于可读的代码,我建议切换到 MessageFormat< /a>.

这是默认示例:

Object[] arguments = {
         new Integer(7),
         new Date(System.currentTimeMillis()),
         "a disturbance in the Force"
     };

String result = MessageFormat.format(
         "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
         arguments);

输出:2053 年 7 月 3 日中午 12:30,7 号行星上的原力发生扰动。

因此,您将变量与消息分开。

For readable code, I recommend to switch to MessageFormat.

This is the default example:

Object[] arguments = {
         new Integer(7),
         new Date(System.currentTimeMillis()),
         "a disturbance in the Force"
     };

String result = MessageFormat.format(
         "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
         arguments);

output: At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7.

So you separate the variables from your message.

等数载,海棠开 2024-10-24 20:45:14

您的第一个语句中似乎存在语法错误:
append((") (2.append) 看起来很奇怪。

我相信它应该是:append("(") (还有一个 ")

It looks like there is an synax error in your fist statement:
the append((") (2. append) looks strange.

I belive it should be:append("(") (one more ")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文