关于pager+struts的ognl.OgnlException异常
WARN [http-8080-11] com.opensymphony.xwork2.ognl.OgnlValueStack - Error setting value
ognl.OgnlException: target is null for setProperty(null, "offset", [Ljava.lang.String;@19dd00d)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651)
at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.ASTChain.setValueBody(ASTChain.java:172)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
相信大家在做这个东西的时候都遇到这个异常,主要是因为pager.offset中间的那个点引起的,有人建议创建一个pager的类,设置offset的get和set方法,这么做很多余。只为了解决这个异常而创建一个多余的类,看着很纠结。于是想到通过修改源码的方式去修改它。下载好pager_taglib的源码。找到里面的PagerTag类,修改为下面这样,通过jar命令重新打包即可,附上修改后的jar包
DEFAULT_ID = "";//原来是pager
private static final int
DEFAULT_MAX_ITEMS = Integer.MAX_VALUE,
DEFAULT_MAX_PAGE_ITEMS = 10,
DEFAULT_MAX_INDEX_PAGES = 10;
static final String
OFFSET_PARAM = "offset";//原来是.offset