0

我有一个数据库,可以看到使用 struts 和 jsp 的完整 HTML 表。

现在,我想用相同的数据配置一个 struts2-jquery-grid。有人可以帮助我吗?我一直在寻找几天,找不到这个任务。

这是我的行动:

    package sead.painel.actions.dpp;

    import java.util.List;

    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.ParentPackage;
    import org.apache.struts2.convention.annotation.Result;
    import sead.painel.dao.ConcursoDAO;
    import sead.painel.modelo.dpp.Concurso;

    import com.opensymphony.xwork2.ActionSupport;

    @ParentPackage("default")
    public class ListaConcursos extends ActionSupport {
       /**
       * 
       */
       private static final long serialVersionUID = 1L;
       private List<Concurso> concursos;


       @Action(value="lista-concursos", results={
        @Result(name="success", location="lista-concursos.jsp")
       })


       public String execute(){    

       concursos = new ConcursoDAO().getLista();
       return "success";
       }

       public List<Concurso> getConcursos() {
       return concursos;
       }

       public void setConcursos(List<Concurso> concursos) {
       this.concursos = concursos;
       }
    }

这里的jsp:

    <%@taglib prefix="sj" uri="/struts-jquery-tags" %>
    <%@taglib prefix="s" uri="/struts-tags" %>
    <%@taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>

    <head>
    <sj:head jqueryui="true" jquerytheme="redmond" />
    </head>

    <sj:a href="dpp/concursos" targets="tone">Voltar</sj:a>

    <s:url action="lista-concursos" id="listaConcursos" />

    <sjg:grid 

    gridModel="dpp/lista-concursos" 
    href="%{listaConcursos}"
    caption="Lista de Concursos"
    rowList="10, 15, 20"
    rowNum="10"
    rownumbers="true"
    pager="true"
    dataType="json">

    <sjg:gridColumn name="nome" index="nome" title="Nome" dataType="text" value="#concurso.nome" />
    <sjg:gridColumn name="codigo" index="codigo" title="Codigo" dataType="json" value="#concurso.codigo" />


</sjg:grid>

网格不加载任何东西。但我可以使用 .

4

2 回答 2

1

好吧,如果您可以在 HTML 表格中看到数据,那么您的方法是正确的,但您仍然需要做更多的事情。

为了用您的数据填充 jquery-grid,该数据必须是 JSON 格式,因此您首先必须在 Struts2 Web 应用程序中启用 JSON 支持。

虽然有很多指南,但我建议您深入了解 jquery-grid。

但是作为初学者,您可能会在向项目、依赖项等添加新 jar 时遇到麻烦。因此,您能做的最好的事情就是从上述页面的下载部分(也在此处)下载代码示例。在那里你会找到很多资源,但选择例如

struts2-jquery-grid-showcase-3.5.1.war

并将这个 .war 文件导入您最喜欢的开发 IDE。你会看到它像一个魅力一样工作,带有所需的 jar 文件和依赖项(你可以将它们复制到你的项目中)。

希望这对您有所帮助。

于 2013-04-03T11:35:30.273 回答
0
gridModel="lstUserBean"

这个 lstUserBean 应该是一个 UserBean 列表,网格将显示其数据。这个列表应该有 getter/setter 并且 sjg:grid 的 href 属性应该指向这个动作,并且这个动作应该返回一个 JSON 结果。单个 UserBean 对象将显示为单行数据,因此请确保所有属性名称与 sjg:gridColumn 的 name 属性匹配,并且这些属性在 UserBean 类中具有适当的 getter。

这里还有几个例子。您会在那里找到许多网格以及项目源代码。

于 2012-01-14T14:16:18.890 回答