当接收包含null或""值的JSON sting时,如何让JAXB保留空值.
串:{"id":null,"fname":"John","region":""}
返回对象:
Person {
Integer id = 0
String fname = "John"
Region regions = 0 }
Run Code Online (Sandbox Code Playgroud)
我希望它返回null而不是0
这是我到目前为止:
@Provider
public class JAXBContextResolver implements ContextResolver<JAXBContext> {
private JAXBContext context;
private Class<?>[] types = {Person.class};
public JAXBContextResolver() throws Exception {
this.context = new JSONJAXBContext(JSONConfiguration.natural().build(), types);
}
public JAXBContext getContext(Class<?> objectType) {
for (Class<?> c : types) {
if (c.equals(objectType)) {
return context;
}
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
Person.class是注释的,@XmlRootElement我试过调查杰克逊注释,但没有成功.
我想在用户提交后更改搜索过滤器.通常jqGrid name在colmodel中返回valuefor字段,我想更改特定列的此行为:
我想改变:
{"groupOp":"AND","rules":[{"field":"available","op":"eq","data":"true"}]}
Run Code Online (Sandbox Code Playgroud)
至
{"groupOp":"AND","rules":[{"field":"s.trait.available","op":"eq","data":"true"}]}
Run Code Online (Sandbox Code Playgroud)
我试图通过以下方式改变提交的表格; firebug显示函数永远不会被调用.
var searchOptions = {
multipleSearch:true, multipleGroup:false, closeOnEscape:true, closeAfterSearch:true,
sopt:['ge', 'eq', 'le'],
beforeSubmit:function (params, postdata) {
//alterations would be here
}
,
onclickSubmit:function (params, postdata) {
//alterations would be here
}
}
Run Code Online (Sandbox Code Playgroud)
这种方法适用于editOptions和delOptions,我不知道为什么我不能让它用于搜索.
我正在使用cookie来加载用户以前的排序和分页选项.我想获取这些保存的值,并将它们设置为服务器接收的参数.
我想改变的参数如下,(行通过prmNames替换行)
/&max=20&page=1&sidx=&sord=asc
我尝试过使用:
$.extend($.jgrid.defaults, {
sidx:"fName",
sord:"desc",
page:2,
rows:10});
Run Code Online (Sandbox Code Playgroud)
和变化:
beforeRequest:function(){
$('#grid').jqGrid('setGridParam', {
sidx: "fName",
sord: "desc",
page: 2,
max: 10
});
}
Run Code Online (Sandbox Code Playgroud)
它更改了page使用$ .extend($.jgrid.defaults ...的值),但我无法更改其他参数.