原因不太清楚,不过写成这样肯定可以<%=select.getCategoryID()%>
还有就是你这样的写法也不太好,我觉得这样写方便一点
<html:select property="categoryID">
       <html:option value="">选择书籍类别</html:option>
       <html:options collection="insertbooknew" property="categoryID"  labelProperty="categoryName"/>
</html:select>
这样写的话,你直接取categoryID就可以了