jsp自定义带属性标签时,配置如下:
<tag>
<!-- 定义标签名 -->
<name>query</name>
<!-- 定义标签处理类 -->
<tag-class>lee.QueryTag</tag-class>
<!-- 定义标签体为空 -->
<body-content>empty</body-content>
<!-- 配置标签属性:driver -->
<attribute>
<name>driver</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!-- 配置标签属性:url -->
<attribute>
<name>url</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!-- 配置标签属性:user -->
<attribute>
<name>user</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!-- 配置标签属性:pass -->
<attribute>
<name>pass</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!-- 配置标签属性:sql -->
<attribute>
<name>sql</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
这里能够看到所有的require都为true(字段不能为null)
然而在数据库中有对应的字段可以为null
这哈子问题就来了噻!
Stacktrace:] with root cause
java.lang.NullPointerException
at java.io.Writer.write(Unknown Source)
at lee.QueryTag.doTag(QueryTag.java:162)
at org.apache.jsp.queryTag_jsp._jspx_meth_mytag_005fquery_005f0(queryTag_jsp.java:170)
HOW DO YOU DO!
对头,逗是楞个,要把.tld文件中的配置和数据库中字段的属性对应起!