2016-06-14 62 views
1

我想發送一個JSON響應(jax-rs)。 JSON包含一個日期值。然而,我正在通過角度ng模型將日期作爲html格式的值屬性傳遞給我。 這裏是Java方法對Angularjs的Jax-rs響應

@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> 

謝謝..

回答

0

我也紛紛與THI s刊,首先,你應該格式化使用

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; 

... 

} 

希望工程!

+0

它可以幫助你嗎? –