Java jspbean";字符串文字未正确关闭";即使是

Java jspbean";字符串文字未正确关闭";即使是,java,jsp,servlets,escaping,javabeans,Java,Jsp,Servlets,Escaping,Javabeans,我正在使用JSP调用bean来显示日期 我发现了错误: "Multiple annotations found at this line: - String literal is not properly closed by a double-quote - String literal is not properly closed by a double-quote" 但是字符串对我来说似乎是正确的 这是: <jsp:useB

我正在使用JSP调用bean来显示日期

我发现了错误:

"Multiple annotations found at this line:
    - String literal is not properly closed by a 
     double-quote
    - String literal is not properly closed by a 
     double-quote"
但是字符串对我来说似乎是正确的

这是:

<jsp:useBean id="date" class="java.util.Date" />

<%
     out.println("<p>Today is </p>");
     out.println("<%= date %>"); // <-- This is the problem
%>

,它坏了。我也无法转义%>,因为它们是无效的转义字符

String dateStr1 = "<%= date >"; // works
String dateStr2 = "<%= date %"; // works
String dateStr3 = "<%= date %>"; // doesn't work

String dateStr4 = "<%"; // works
String dateStr5 = "%>"; // doesn't work
String dateStr1=“”;//作品

String dateStr2=“您不能从JSP中生成JSP代码。由于JSP脚本定义了
之间的任何内容都应被视为Java代码,因此系统将
%%>
视为结束标记,因此在
字符串dateStr5=“%%>”
中,它只能将
字符串dateStr5=“
视为Java脚本。您可以执行类似以下操作:
String closing=“%”“+”>”
out.println(“”)
但我要重申:这只会将
打印到生成的HTML中,JSP系统不会再处理这些HTML了。@Thomas,哦,好的,谢谢。因此,如果我想使用bean(它使用JSP生成),它就不能在out.println()的内部,对吗?听起来我的最佳选择是在JSP的java部分之外生成bean,或者在java部分中创建一个变量并引用它,对吗?我会尽量少使用Scriptlet。使用适当的库和框架,比如JSTL和JavaEL,JSP中不需要太多Java代码——我也会尝试将剩余的代码转移到bean中。所以只要
今天是${date}

就足够了。