Struts2 <s:param>标签:
写了一个<s:url>,给它附上了两个参数<s:param>,但后台Action始终无法得到第二个参数。写法如下(错误写法):
<a href=
"<s:url action='appAction'>
<s:param name="appId" value="%{#request.appId}" />
<s:param name="appOp" value="delete"/>
</s:url>"
target="_blank">
删除
</a>
正确的写法:
<a href=
"<s:url action='appAction'>
<s:param name="appId" value="%{#request.appId}" />
<s:param name="appOp">delete</s:param><!-- 参数值如果是常量,应该写为元素的值,而不是attribute。低级错误 -->
</s:url>"
target="_blank">
删除
</a>
2, 傻爆了的HQL和SQL混写:
写了一个分页查询的HQL:
String hql = "from App as model where model.name = ?"
+ " order by model.operation desc "
+ " limit ?, ?";
用getHibernateTemplate().find(hql,<para1_value>,<para2_value>,<para3_value>)执行查询时,总是报ordinal parameter mismatch
后一类仔细一看,HQL的前两行是HQL的语法,第三行 limit ?, ?是SQL的语法。
回到正确的做法:
Query query = session.createQuery(hql);
query.setParameter(0, <para1_value>);
……
return query.setFirstResult(start).setMaxResults(limit).list();