簡體   English   中英

日期格式JSON jqgrid

[英]Date format JSON jqgrid

我正在用Java開發Web應用程序。 我正在用JSON數據填充jqgrid。 問題是“生日”列顯示的格式不正確。 在MySQL數據庫中,該字段為DATE類型,但在jqgrid中,該字段顯示為:“ 1989年12月30日”。 我需要以下格式:“ 1989-12-30”

我的servlet代碼:

 protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    String parameter = request.getParameter("parameter");
    String username = request.getParameter("username");
    int option = Integer.parseInt(request.getParameter("option"));

    DBConnection db = new DBConnection();
    StringBuilder sb = new StringBuilder();
    Connection con = (Connection) db.getCon();
    PreparedStatement ps = null;
    ResultSet rs = null;
    ArrayList<Customers> customerList = new ArrayList<Customers>();

    try {
        sb.append("{call SP_MSTCUSTOMERS_FIND(?,?,?)}");
        ps = con.prepareCall(sb.toString());
        ps.setString(1, parameter);
        ps.setString(2, username);
        ps.setInt(3, option);
        rs = ps.executeQuery();
        while (rs.next()) {
            Customers customer = new Customers();
            customer.setIdMstCustomers(rs.getInt("IDMSTCUSTOMERS"));
            customer.setFirstName(rs.getString("FIRST_NAME"));
            customer.setLastName(rs.getString("LAST_NAME"));
            customer.setBirthdate(rs.getDate("BIRTHDATE"));       
            customerList.add(customer);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }

    Gson gson = new Gson();
    JsonElement element = gson.toJsonTree(customerList, new TypeToken<List<Customers>>() {
    }.getType());

    JsonArray jsonArray = element.getAsJsonArray();
    response.setContentType("application/json");
    response.getWriter().print(jsonArray);
}

jqgrid的代碼:

 $("#list").jqGrid({
    url: 'PopulateCustomersTable',
    postData: {
        parameter: function () {
            return $("#parameter").val();
        },
        username: function () {
            return $("#txtusrID").val();
        },
        option: function () {
            return $("input[name='srch']:checked").val(); //$('[name="srch"]').val();
        }
    },
    datatype: "json",
    mtype: 'POST',
    colNames: ['Id', 'First Name', 'Last Name', 'Birthdate'],
    colModel: [{
            name: 'IdMstCustomers',
            index: 'IdMstCustomers',
            width: 50,
            fixed: true,
            align: 'center'
        }, {
            name: 'FirstName',
            index: 'FirstName',
            width: 100,
            fixed: true,
            align: 'center',
            editable: true
        }, {
            name: 'LastName',
            index: 'LastName',
            width: 100,
            fixed: true,
            align: 'center',
            editable: true
        }, {
            name: 'Birthdate',
            index: 'Birthdate',
            width: 100,
            editable: true,                
        }],
    pager: '#pager',
    rowNum: 10,
    rowList: [10, 20, 30],
    sortname: 'FirstName',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    caption: 'Customers',
    jsonReader: {
        repeatitems: false
    },
    editurl: "CustomersServlet"
});
$('#list').trigger('reloadGrid');
$('#list').jqGrid('setGridWidth', '900'); 
jQuery("#list").jqGrid('navGrid', '#pager', {
    edit: true,
    add: false,
    del: false,
    search: true
});

jqgrid數據如下所示

我的客戶班

public Customers(int IdMstCustomers, String FirstName, String LastName, Date Birthdate) {
    this.setIdMstCustomers(IdMstCustomers);
    this.setFirstName(FirstName);
    this.setLastName(LastName);
    this.setBirthdate(Birthdate);
}

public Customers() {

}
private int IdMstCustomers;
private String FirstName;
private String LastName;
private Date Birthdate;

public void setIdMstCustomers(int IdMstCustomers) {
    this.IdMstCustomers = IdMstCustomers;
}

public void setFirstName(String FirstName) {
    this.FirstName = FirstName;
}

public void setLastName(String LastName) {
    this.LastName = LastName;
}

public void setBirthdate(Date Birthdate) {
    this.Birthdate = Birthdate;
}

public int getIdMstCustomers() {
    return IdMstCustomers;
}

public String getFirstName() {
    return FirstName;
}

public String getLastName() {
    return LastName;
}

public Date getBirthdate() {
    return Birthdate;
}

您可以根據需要的格式添加formatter以格式化日期值:

{
    name: 'Birthdate',
    index: 'Birthdate',
    width: 100,
    editable: true,
    formatter: 'date', formatoptions: { srcformat: 'M, d, Y', newformat: 'Y-m-d'}
}

您可以在此處了解更多信息: http : //www.trirand.com/jqgridwiki/doku.php?id= wiki: custom_formatter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM