0

過去 3 か月をドロップダウンで表示しようとしています。JavaScript 関数を作成して body 要素のOnload属性で呼び出しましたが、ログにエラーのない空白のページが表示されます。

以下はJSPです。

<%@ page import="java.util.Collection" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/displaytag-12.tld" prefix="display"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<%@page buffer="16kb"%>


<script type="text/javascript">
function addOption(selectbox,text,value )
{
    var optn = document.createElement("OPTION");
    optn.text = text;
    optn.value = value;
    selectbox.options.appendChild(optn);
}

function OnloadPage()
{
    alert('Here');
    var date=new Date();
    addOption(document.forms[0].month,date.getMonth(),date.getMonth());
    addOption(document.forms[0].month,date.getMonth()-1,date.getMonth()-1);
    addOption(document.forms[0].month,date.getMonth()-2,date.getMonth()-2);
    }
</script>
<TABLE class="ReportFilter">

        <TR>
            <TD colspan="2">&nbsp;</TD>
        </TR>
</TABLE>
<body onload="OnloadPage()">
<html:form action="/zeroScoreReport.do">

<html:select property="month" name ="month" style="width:175;">
    <html:option value="-1">--Please Select--</html:option>
</html:select>
    <display:table name="scoreCardCol" pagesize="20" sort="list" id="data" requestURI="" class="tablelist" export="true">
            <display:setProperty name="export.csv" value="false"/>
        <display:setProperty name="export.xml" value="false"/>
        <display:setProperty name="export.excel.filename">ZeroDefectScoreCard.xls</display:setProperty>

            <display:column title="ZONE" property="zone" /> 
            <display:column title="TM OPS NAME" sortable="true" property="tm_ops_name"></display:column>
            <display:column title="RPCT BRANCH CODE" sortable="true" property="rcpt_branch_code"></display:column>
            <display:column title="SUM TOT APP" sortable="true" property="sum_totapp"></display:column>
            <display:column title="SUM ERROR APP" sortable="true" property="sum_error_app"></display:column>
            <display:column title="SUM ZERO DEF APP" sortable="true" property="sum_zero_def_app"></display:column>

    </display:table>
</html:form>

編集:いくつかのコードを変更した後、ログに以下のエラーが表示されます:

ServletException in '/jsp/zero/frm_ZeroScoreCard.jsp': javax.servlet.jsp.JspException: Cannot find bean under name month
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/zero/frm_ZeroScoreCard.jsp at line 38

フォーム Bean に追加するにもかかわらず:

private String month="";
public String getMonth() {
        return month;
    }
    public void setMonth(String month) {
        this.month = month;
    }
4

3 に答える 3

1

addここに変更appendChild:

selectbox.options.add(optn);

したがって、次のようになります。

selectbox.options.appendChild(optn);
于 2012-07-05T05:48:51.197 に答える
0

nameの属性は<html:select>の名前である必要がありformbean、javascriptでそれを参照するには、を使用する必要がありますstyleId

したがって、コードは次のようになります

<html:select styleId="monthh" property="monthh" name ="initiationfrm" style="width:175;">
于 2012-07-05T07:38:07.233 に答える
0

<script type="text/javascript">の代わりに追加<script>

ページで html タグが使用されていないなどの多くのエラーが異なる場合があります。チェックする完全な JSP と、テストするブラウザを提供してください。

于 2012-07-05T06:05:37.170 に答える