如何在JSF中运行D3JavaScript
我遵循本教程了解如何将Javascript与JSP集成: 基于此,我想在如何在JSF中运行D3JavaScript,javascript,jsp,jsf,d3.js,Javascript,Jsp,Jsf,D3.js,我遵循本教程了解如何将Javascript与JSP集成: 基于此,我想在JSF项目中的JSP文件中添加d3javascript库。这是我的JSP文件: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <
JSF
项目中的JSP
文件中添加d3javascript库。这是我的JSP
文件:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<script type="text/javascript" src="d3/d3.v3.js"></script>
<script>
var dataset = [0,5,10,15,20];
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.text("Paragraph");
</script>
</f:view>
</body>
</html>
在此处插入标题
var数据集=[0,5,10,15,20];
d3.选择(“主体”)。选择全部(“p”)
.数据(数据集)
.输入()
.附加(“p”)
.文本(“段落”);
我已经从Eclipse导出了WAR
文件,并将其部署在Tomcat6
中。我还将D3
库文件夹(D3.v3)
包含在Tomcat中部署的JSF项目中。当我插入localhost:8080
的URL时,不幸的是,它没有显示预期的结果。可以在JSP文件中运行D3JavaScript库吗?这个特定的代码有什么问题吗?据我所知,JSP在服务器端运行,Javascript在web浏览器上运行。谁能告诉我如何在JSP中运行D3JavaScript。提前感谢您的帮助 我建议首先使用本地/静态json/csv数据使用JSFIDLE(或本地html)测试页面。将html转换为JSF不会那么困难,解决其他javascript问题也会更容易。使用浏览器的开发工具帮助您确定是否正在加载d3.js。例如,在Chrome浏览器中,右键单击(或按住Ctrl键单击)浏览器窗口中的任意位置,选择“检查元素”,然后打开“网络”选项卡以查看页面加载的资源。如果没有加载d3.js,则需要调整此行中的路径:
<script type="text/javascript" src="d3/d3.v3.js"></script>
正如Bill F.在对其答案的评论中所说,d3.js需要作为UTF-8加载。
如果由于某种原因无法更改页面本身的字符集,可以通过UTF-8加载javascript文件,方法是将charset=“UTF-8”
参数添加到脚本标记中,如
<script type="text/javascript" charset="UTF-8" src="d3/d3.v3.js"></script>
当然,在为页面提供服务时,您仍然需要检查服务器是否会在内容类型响应标题中添加字符集,覆盖脚本标记中的声明,从而破坏您的一天。我正在使用Firefox。老实说,我试过网络控制台。它告诉我d3没有定义。特别是,它向我显示了一个错误,行是d3。选择(…)Ok,这可能意味着浏览器没有加载d3。你确定你在脚本标签中找到了正确的路径吗。我在Web内容中有D3文件夹,该文件夹位于部署在Tomcat中的项目中。我还有一个问题,就是d3.v3.js Library中的非法字符与Firefox中的Inspect,我有一条消息:请求URL:请求方法:获取状态代码:HTTP/1.1 304未修改该问题是编码问题吗?见: