我有一个.jsp
从 servlet 传递变量的页面。假设我有一个.jsp
页面
...
<body>
${Variable}
</body>
...
并且让我们也假设variable = "oh my god"
。还行吧。但是我怎样才能把这个变量放到.html
浏览器显示变量值的页面上呢?
你需要这样做:
<%= Variable %>
生成的 HTML 将是:
<body>
oh my god
</body>
实际上,目前在此处发布的最佳投票答案和解决方案 ( ) 与您在问题 ( )<%= Variable %>
中提供的代码完全相同。${Variable}
唯一的区别是你的是应该使用的,因为它更具可读性而且它不是任何该死的 scriptlet!
就我的观点而言,如果您想在播放 html 页面中使用您的 JSP 变量,您将需要 javascript 从 jsp 呈现的 html 中检索该变量,然后在实际的newPage.html
. 您可以将隐藏的 iframe 放入其中newPage.html
,在其中嵌入 jsp 页面作为该 iframe 的源,然后使用例如解析其 htmlgetElementById()
有两种选择,使用scriptlets
或expression language
,我建议使用expression language
.
很好地阅读了为什么Scriptlet 不好
在访问 html 中的变量之前,您需要初始化变量,然后在另一个 JSP 代码块中进行任何计算和其他修改。现在您可以访问 html 中的变量。这是我对 Stackoverflow.com 的第一个回答,请专家通知我所犯的错误。
<body>
<% java.lang.Integer var=0; %>
<%
int a;
int b;
var=a+b;
%>
<% out.print(var);%>
</body>
虽然这个问题很老,但我认为它仍然是实际的,所以我会尝试从我的角度做出贡献。
问题很简单,我认为大多数答案只是回答不同的问题 - 因此 - 提供了一些混乱。
据我了解,这个问题是:
我可以在 html 中拥有 JSP 的动态变量(顺便说一句,Expression Lnaguage的一个元素),就像我在 jsp 中拥有它一样吗?
答案是否定的。
JSP转换为Java Server Pages,这就是这里的重点,即生成动态值并将其提供给服务器端的 jsp。你不能让你的html动态。
long taskId = 223;
//
<input type="hidden" name="taskId" value=<%=taskId%> />