[英]Jax-rs Response to Angularjs
我正在尝试发送JSON响应(jax-rs)。 JSON中包含日期值。 但是,我很难通过角度ng-model将日期作为html表单中的value属性传递。 这是java方法
@POST
@Path("/selectedjob")
@Consumes(MediaType.APPLICATION_JSON)
@Produces (MediaType.APPLICATION_JSON)
public Response getSelectedJob(JSONArray selected){
EntityManager em = emf.createEntityManager();
Job j = em.find(Job.class, Long.parseLong(String.valueOf(selected.get(0))));
return Response.status(200).entity(j).build();
}
我客户端的Json是
{"date":"2012-02-02","invoiced":false,"destination":"lskdjf","invoiceNumber":null,"vehicleRegno":"djksladfi","product":"lskdjf","loadedFrom":"slkjf","rate":45,"amount":345646,"deliveryNo":null,"qtyLoaded":12,"id":22}
现在我希望这些数据在以下HTML表单中显示为默认值,(所有其他数据除日期外都有效)
<form role="form" ng-submit="editJob()">
<div class="box-body">
<div class="col-xs-5">
<label for="Date"> Date</label>
<input type="date" class="form-control" ng-model="job.date">
</div>
<div class="col-xs-5">
<label for="vehicle">Vehicle</label>
<input type="text" class="form-control" ng-model="job.vehicleRegno">
</div>
<div class="col-xs-5">
<label for="Loaded">Loaded From</label>
<input type="text" class="form-control" ng-model="job.loadedFrom">
</div>
<div class="col-xs-5">
<label for="Destination">Destination</label>
<input type="text" class="form-control" ng-model="job.destination">
</div>
<div class="col-xs-5">
<label for="Product">Product</label>
<input type="text" class="form-control" ng-model="job.product">
</div>
<div class="col-xs-5">
<label for="Quantity">Quantity Loaded</label>
<input type="text" class="form-control" ng-model="job.qtyLoaded">
</div>
<div class="col-xs-5">
<label for="Rate">Rate</label>
<input type="text" class="form-control" ng-model="job.rate">
</div>
<div class="col-xs-5">
<label for="Amount">Amount</label>
<input type="text" class="form-control" ng-model="job.amount">
</div>
<div class="col-xs-5">
<label for="Delivery">Delivery Note Number</label>
<input type="text" class="form-control" ng-model="job.deliveryNo">
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary" value="submit" ng-click="showdetails(true)">Submit</button>
</div>
</form>
谢谢..
我也遇到过这个问题,首先,你应该使用格式化这个日期
DateAdapter.java
public class DateAdapter extends XmlAdapter<String, Date> {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd");
@Override
public String marshal(Date date) {
return dateFormat.format(date);
}
@Override
public Date unmarshal(String dateStr) {
try {
return dateFormat.parse(dateStr);
} catch (ParseException e) {
throw new WebApplicationException();
}
}
}
然后,您可以将DateAdapter
类导入Job
类Date属性,如下所示:
Job.java
{
...
@XmlJavaTypeAdapter(DateAdapter.class)
private Date date;
...
}
希望它有效!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.