Javascript Bean不在jsp上工作
我有一个JSP,它使用Javascript在页面上显示日期。日期是这样创建的:Javascript Bean不在jsp上工作,javascript,java,jsp,Javascript,Java,Jsp,我有一个JSP,它使用Javascript在页面上显示日期。日期是这样创建的: <script language="Javascript"> objDate = new Date(); document.write(objDate.getDate()); </script> 看起来无法解析DateRenderer,但未显示任何异常。我错过什么了吗?我对jsp没有太多经验。多亏了问题的评论,我终于找到了答案 未找到日期呈现程序,因为它是服务器端而不是客户
<script language="Javascript">
objDate = new Date();
document.write(objDate.getDate());
</script>
看起来无法解析DateRenderer,但未显示任何异常。我错过什么了吗?我对jsp没有太多经验。多亏了问题的评论,我终于找到了答案
- 未找到日期呈现程序,因为它是服务器端而不是客户端。Scriptlet可以获取服务器端变量(在这个项目中,由于一些复杂的原因,我无法使用ELs)
- DateRenderer.getDayDate()没有返回任何内容,因为我没有正确捕获它
<%@page import="com.my.package.DateRenderer"%>
[...]
<div id="somediv">
<script language="Javascript">
<%
String dayDate = DateRenderer.getDayDate();
%>
document.write('<%=dayDate%>');
</script>
</div>
[...]
文件。写(“”);
您正在混合服务器和客户端代码。DateRenderer是Java的一个服务器对象,objDate是浏览器中的一个Javascript变量。我已经看到我可以使用objDate
从服务器端获取变量,服务器端方法确实会命中(日志用于证明)。但是,页面仍然不显示日期。这是否可能是因为调用javascript时页面已经显示(并且页面未刷新)?尝试将值设置为隐藏输入字段
,然后使用其id字段在javascript中访问它,或者尝试警报(${variable}”)代码>或警报(“”)
public class DateRenderer {
private static final Log log = LogFactory.getLog(DateRenderer.class);
public DateRenderer(){
}
public static Date getDayDate(){
log.info("New Date for test!");
return new Date();
}
}
<%@page import="com.my.package.DateRenderer"%>
[...]
<div id="somediv">
<script language="Javascript">
<%
String dayDate = DateRenderer.getDayDate();
%>
document.write('<%=dayDate%>');
</script>
</div>