0

display-table を使用して、LoginAction から jsp ページにリスト「li」を入力しようとしています。そのリストは選択可能である必要があります。しかし、jsp を実行すると、「何も表示されません」と表示されます。 .そして、リストを選択および編集可能にするために使用するより良いアプローチは、display-tableですか? または、他の方向転換はありますか?ありがとう

LoginAction.java

public class LoginAction extends Action {   
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                HttpServletResponse response) throws Exception
        {

            ActionForward nextPage = mapping.findForward("success");
                    LoginForm in  = (LoginForm) form;

                    CaseHistoryData cd =new CaseHistoryData();

                    List<CaseHistoryData> li = new ArrayList <CaseHistoryData>();
                    cd.setNo(1);
                    cd.setShortdesciption("NOA Data verified");
                    li.add(cd);
                    CaseHistoryData cd2 =new CaseHistoryData();
                    cd2.setNo(2);
                    cd2.setShortdesciption("Count Allowance");
                    li.add(cd2);
    }

CaseHistoryData.java

 public class CaseHistoryData extends ActionForm {
        private int no;
        private String shortdesciption;
    setter and getters}

AdvancedCorrection.jsp

<html:form action="/OnClick" method="post">
    <display:table export="true"  id="data"
                        name="sessionScope.LoginAction.li"
                        requestURI="/OnClick" pagesize="10" >
                <display:column property="no" title="No" sortable="true"   />

            </display:table>

Struts-config.xml

    <form-bean name="AdvancedCorrectionBean" type="us.gov.doc.uspto.patent.palm.advancedcorrection.web.domain.CaseHistoryData">
            </form-bean>

    <action path="/OnClick" type="us.gov.doc.uspto.patent.palm.advancedcorrection.web.action.LoginAction" name="AdvancedCorrectionBean" scope="session" 
            input="/AdvancedCorrectio

n.jsp" validate="true" >
         <forward name="success" path="/jsp/AdvancedCorrection.jsp" />

        </action>
4

1 に答える 1

0

display:tableはでリストを探しますsessionScope.LoginAction.li。しかし、LoginActionはセッションスコープにありません(どのスコープにもありません)。LoginActionにはリストを返すgetLi()メソッドはありません。そのようなメソッドがあったとしても、リストはのローカル変数にすぎません。execute()メソッド。

リストをexecute()メソッドのリクエスト属性に保存する必要があります。

request.setAttribute("caseHistoryDataList", li);

また、JSPでは、次のリクエスト属性を使用する必要があります。

<display:table name="caseHistoryDataList" ...
于 2012-06-25T16:43:20.330 に答える