0

我正在尝试使用 display-table 将 LoginAction 中的列表“li”填充到 jsp 页面上。并且该列表应该是可选择的。但是当我运行我的 jsp 时,它说“没有找到要显示的内容”。可能是什么问题.并且显示表是一种更好的方法来使列表可选择和可编辑?还是有其他转机?谢谢

登录操作.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);
    }

案例历史数据.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 回答