Coding中的低级问题总结【开个头先】

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();


你可能感兴趣的:(struts2,sparam)