如何根据d3.js中的日期创建我的线x轴?
我试图教自己如何使用d3.js. 我一直在查看随附的示例,并尝试使用json传递的数据重新创建折线图.我能够将数据输入到折线图中,但x轴应该是日期而不是数字.我正在使用的日期格式是MM/DD/YY,但图表将所有内容都绘制在0.我的json数据很好,但是我无法弄清楚如何绘制x坐标.这是直接从下载时d3.js示例文件夹中的line.js中获取的.日期部分不起作用.我希望有人可以给我一个例子,或者能够解释我是如何让它发挥作用的.
d3.json('jsonChartData.action',
function (data) {
console.log(data);
var w = 450,
h = 275,
p = 30,
x = d3.scale.linear().domain([0, 100]).range([0, w]),
y = d3.scale.linear().domain([0, 100]).range([h, 0]);
var vis = d3.select("body")
.data([data])
.append("svg:svg")
.attr("width", w + p * 2)
.attr("height", h + p * 2)
.append("svg:g")
.attr("transform", "translate(" + p + "," + p + ")");
var rules = vis.selectAll("g.rule")
.data(x.ticks(5))
.enter().append("svg:g")
.attr("class", "rule");
rules.append("svg:line")
.attr("x1", x)
.attr("x2", x)
.attr("y1", 0)
.attr("y2", h - 1);
rules.append("svg:line")
.attr("class", function(d) { …Run Code Online (Sandbox Code Playgroud) 我有两节课.
public class Reservation {
@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true, mappedBy = "reservation")
private List<Night> nights; \\assume getters and setters
}
public class Night {
@ManyToOne
@JoinColumn(name = "RESERVATION_ID")
private Reservation reservation;
}
Run Code Online (Sandbox Code Playgroud)
我的保存工作方式如下:
Reservation r = new Reservation();
r.getNights().add(new Night());
return dao.save(r);
Run Code Online (Sandbox Code Playgroud)
这样可以保存预约,它可以节省夜晚.但是当我查看数据库时,NIGHT表中的RESERVATION_ID列为空.
在以前的项目中(在升级到Java 8和JPA 2.1之前),我不需要在子项上手动设置父对象,以便保存该关联.有什么改变,或者我做错了什么?
编辑:
这样可以正确地保存关联,但以前没有必要.
Reservation r = new Reservation();
Night n = new Night();
n.setReservation(r);
r.getNights().add(n);
return dao.save(r);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Java Servlet 3.0上传文件。
@WebServlet("/uploadFile")
@MultipartConfig(fileSizeThreshold=1024*1024*1, // 1 MB
maxFileSize=1024*1024*10, // 10 MB
maxRequestSize=1024*1024*100) // 100 MB
public class FileUploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String serverUploadDir = getServerUploadDir(req);
Part file;
try {
file = req.getPart("fileName");
file.write(serverUploadDir + File.separator + file.getSubmittedFileName());
res.sendRedirect("viewDirectory?msg=File Uploaded.");
}
catch (IllegalStateException ex) {
System.out.println(ex.getMessage());
}
}
public String getServerUploadDir(HttpServletRequest req) {
return req.getParameter("serverUploadDir");
}
}
Run Code Online (Sandbox Code Playgroud)
当文件maxFileSize位于@MultipartConfig批注中声明的位置时,它可以正常工作。但是,当它们超过该大小时,我得到一个IllegalStateException,并且我的浏览器显示Connection已重置。即使我尝试将请求转发到捕获中的其他页面,也无法正常工作。
我知道使用Spring框架,我可以创建一个filterMultipartResolver,当maxUploadSize超过时可以处理。有没有一种方法可以创建一个常规的Java Servlet过滤器来做同样的事情?
我试图在选择框中删除我的选项中的单引号,但下面似乎没有工作:
$(function(){
$("#agencyList").each(function() {
$("option", $(this)).each(function(){
var cleanValue = $(this).text();
cleanValue.replace("'","");
$(this).text(cleanValue);
});
});
});
Run Code Online (Sandbox Code Playgroud)
它仍然有单引号.select是使用JSTL forEach循环构建的.任何人都可以看到可能出错的地方?
我正在尝试为我的过滤器编写单元测试,并且我正在努力了解对我的模拟对象的需求。这是一个简单的失败测试:
void "test my sanity"() {
setup:
def vendorPayment = mockFor(Payment)
vendorPayment.demand.buyerId { -> 123}
def vp = vendorPayment.createMock()
//vp.buyerId=123
println "buyer id: ${vp.buyerId}"
when:
def a = "testing"
then:
vp.buyerId == 123
}
Run Code Online (Sandbox Code Playgroud)
我想为buyerId 模拟getter。使用需求不起作用,但如果我创建模拟然后设置买家 ID(注释行),测试将通过。需求不适用于吸气剂吗?是因为 getter 是隐式/动态创建的吗?