2012-01-13 3 views
0

私はデータベースを持っており、strutsとjspを使って完全なHTMLテーブルを見ることができます。postgreSQLのデータをStruts2-jquery-gridにインポートするにはどうしたらいいですか?

ここでは、同じデータを持つstruts2-jqueryグリッドを設定したいと考えています。誰か助けてくれますか?私は日々を探していて、この仕事を見つけることができませんでした。ここで

は私のアクションです:

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> 

グリッドは何もロードされません。しかし、私はHTMLテーブルでデータを読み込むことができます。

+0

jqueryグリッドプラグインの使い方を尋ねていますか?あなたがダウンロードできるソースを持っている[ここ](http://www.weinfreund.de/struts2-jquery-grid-showcase/index.action)のように? –

+0

はい、そうです。この例のようにstruts2-jquery-grid-pluginを使いたいと思います。しかし、私はそれを行う方法を知らない。私はいくつかの例に従おうとしましたが、私はそれを得ませんでした。 –

+0

どうしますか? JavaScriptコンソールには何もありませんか?アクションは何をレンダリングしますか、JSON? (そして、応答タイプはそのようにマークされていますか?JSONプラグインを使用しない理由は?) –

答えて

0
gridModel="lstUserBean" 

このlstUserBeanは、グリッドに表示されるデータを持つUserBeanのリストである必要があります。このリストにはgetter/setterがあり、sjg:gridのhref属性はこのアクションを指していなければなりません。このアクションはJSON結果を返します。単一のUserBeanオブジェクトは1行のデータとして表示されるため、すべての属性名sjg:gridColumnのname属性と一致し、これらの属性はUserBeanクラスに適切なゲッターを持っています。

ここにはfew more examplesがあります。そこには、プロジェクトのソースコードとともに多数のグリッドがあります。

+0

XCoder、注目してくれてありがとう。私は初心者です=) 私はエラーコードがどこにあるのか正確には分かりませんでした。 JSPでですか?またはアクションで?私は他のクラスや行動のように、もっと何かを開発する必要がありますか? –

+0

エラーはgridModelにあり、gridModelで定義されているものはgetterとsetterを持つアクション内のBeanのリストでなければなりません。 [それらの例](http://www.onlinexamples.com/searchaction.action?idlabels=21&label=struts2jquery)を見てきましたか? –

1

HTMLテーブルのデータを見ることができれば正しい方法ですが、さらに何かをする必要があります。データはJSON形式でなければならないことを、あなたのデータとjqueryのグリッドを埋めるために

は、そうまず、あなたがしなければならないあなたのStruts2ののwebアプリケーションでJSONのsuppportを有効にすることです。

多くのガイドがありますが、oneはjquery-gridで詳しく説明します。

初心者の方でも、プロジェクトに新しいジャー、依存関係などを追加する際に問題が発生する可能性があります。したがって、あなたができる最善の方法は、上記のページのhere)のダウンロードセクションからコード例をダウンロードすることです。そこには多くのリソースがありますが、たとえば

struts2-jquery-grid-showcase-3.5.1.war 

を選択し、この.warファイルをお気に入りのIDEにインポートします。必要なjarファイルと依存関係(プロジェクトにコピーすることができます)があれば、魅力的なように機能します。

ご希望の場合はこちらをご覧ください。

関連する問題