在struts 2和hibernate中使用jQuery网格而不是迭代器

时间:2013-09-27 22:25:35

标签: jquery hibernate jsp jqgrid struts2

我用Struts2开发了我的WebApp& JPA,现在我想用jQuery Grid而不是迭代器来改进它,以显示我在JSP中的数据库中的所有数据:

<table class="userTable"   >
<tr class="even">
<th>ID</th>
<th>user name</th>                                  
<th>email</th>
<th>adress</th>
<th>Action</th>
</tr>
<s:iterator value="userlist"  status="userStatus">
<tr class="<s:if test="#userStatus.odd == true ">odd</s:if><s:else>even</s:else>">
<td><s:property value="user_ID" /></td>
<td><s:property value="namel" /></td>
<td><s:property value="email" /></td>
<td><s:property value="adress" /></td>
<td>
<s:url id="editURL" action="edituser">
<s:param name="user_ID" value="%{user_ID}"></s:param>
</s:url> <s:a href="%{editURL}"  title="Edit"></s:a>

<s:url id="deleteURL" action="deleteuser">
<s:param name="user_ID" value="%{user_ID}"></s:param>
</s:url> <s:a href="%{deleteURL}"  title="delete" ></s:a>
</td>

</tr>
</s:iterator>
</table>

在我的struts.xml我有例如:

<package name="default" extends="hibernate-default"   >
  <action name="deleteuser" method="saveOrUpdate" class="com.userAction">
  <result name="success" type="redirect">/xxxx</result>
</action>
</package>
//and i have problem when i use this 
<package name="default" extends="hibernate-default,struts-default,json-default" namespace="/">
</package>

在我的课堂动作中与班级用户DBO沟通:

public class UserAction extends ActionSupport implements ModelDriven<User>{
private List<User> userlist = new ArrayList<User>();
//+ all method
}

现在我想知道实现这个例子来使用jQuery网格 我已经检查了这个https://code.google.com/p/struts2-jquery/wiki/GridTag,但我有一些问题,比如尝试使用

 <package name="default" extends="hibernate-default,struts-default,json-default" namespace="/">

我的应用不起作用。

2 个答案:

答案 0 :(得分:0)

您将html表格转换为jqgrid的目的是什么?只是为了显示数据,或者你需要获得jqgrid的一些优点,如排序,搜索,分页。如果您需要这些优势,那么我的建议就是客户端jqgrid的实现。

最初我尝试使用struts2为我的项目提供的jqgrid插件。看来我们需要手动处理排序,搜索,分页。我浪费了很多时间手动执行此操作。希望你有一些想法。

从客户端很容易实现jqgrid,有一个有用的jqgrid官方链接可用于将html表转换为jqgrid。 jQgrid。根据版本3.3中的新功能 - Html to grid。如果这有助于你,请告诉我..

答案 1 :(得分:0)

添加软件包struts-default,json-default后,您已覆盖default-interceptor-ref配置。您应该在default

中明确定义它
<default-interceptor-ref name="defaultStackHibernate"/> 

此外,如果您使用常规插件来映射操作,请确保您拥有 @ParentPackage("default")注释,或<constant name="struts.convention.default.parent.package" value="default"/>