0

I am trying to deploy a code in struts 1.2 for an meta search engine . The code mapping is all fine , but the index page isnt rendered on the browser instead the code is displayed on the title bar ... any idea what could be wrong ??? The jsp page is this

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri ="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri ="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
<head>
<title>Meta Search Engine</tile>
    <html:base/>

    <head> Search Engine </head>
            <script language="javascript">
function validateCheckBoxes(){
        var yahooCheck = document.getElementsByName ('yahooCheck');
        var altavistaCheck = document.getElementsByName ('altavistaCheck');
        var microsoftCheck = document.getElementsByName ('microsoftCheck');
        var lycosCheck = document.getElementsByName ('lycosCheck');
        var askCheck = document.getElementsByName ('askCheck');

        var i = 0;
        if (yahooCheck[0].checked){
            i=i+1;
        }
        if (altavistaCheck[0].checked){
            i=i+1;
        }
        if (microsoftCheck[0].checked){
            i=i+1;
        }
        if (lycosCheck[0].checked){
            i=i+1;
        }
        if (askCheck[0].checked){
            i=i+1;
        }

        if(i>2){
            if (!yahooCheck[0].checked){
                yahooCheck[0].disabled = true;
            }
            if (!altavistaCheck[0].checked){
                altavistaCheck[0].disabled = true;
            }
            if (!microsoftCheck[0].checked){
                microsoftCheck[0].disabled = true;
            }
            if (!lycosCheck[0].checked){
                lycosCheck[0].disabled = true;
            }
            if (!askCheck[0].checked){
                askCheck[0].disabled = true;
            }   
        }

        if(i<3){
            if (yahooCheck[0].disabled){
                yahooCheck[0].disabled = false;
            }
            if (altavistaCheck[0].disabled){
                altavistaCheck[0].disabled = false;
            }
            if (microsoftCheck[0].disabled){
                microsoftCheck[0].disabled = false;
            }
            if (lycosCheck[0].disabled){
                lycosCheck[0].disabled = false;
            }
            if (askCheck[0].disabled){
                askCheck[0].disabled = false;
            }   
        }
        document.getElementById('checkValue').value = i;
        return true;
    }

    function checkEverything(){
        if (document.getElementById('checkValue').value < 3){
            alert('Please Select 3 Search Engines');
            return false;
        }
        if((!document.getElementsByName('aggregationType')[0].checked)&&(!document.getElementsByName('aggregationType')[1].checked)){
            alert('Please Select the type of Aggregation');
            return false;
        }
        if(document.getElementsByName('searchString')[0].value == ""){
            alert('Please Enter a query to search for');
            return false;
        }
        return true;
    }
    </script>
<body>
<html:img page="/images/search-engine-share.gif"/>
<BR>
<html:form action="/submitSearchForm">
<center>
<input id="checkValue" type="hidden" />
<html:checkbox property="yahooCheck" onclick="javascript: return validateCheckBoxes()">
    <bean:message key="button.yahooSearch"/>
</html:checkbox>
<html:checkbox property="altavistaCheck" onclick="javascript: return validateCheckBoxes()">
    <bean:message key="button.altavistaSearch"/>
</html:checkbox>
<html:checkbox property="microsoftCheck" onclick="javascript: return validateCheckBoxes()">
    <bean:message key="button.microsoftSearch"/>
</html:checkbox>
<html:checkbox property="lycosCheck" onclick="javascript: return validateCheckBoxes()">
    <bean:message key="button.lycosSearch"/>
</html:checkbox>
<html:checkbox property="askCheck" onclick="javascript: return validateCheckBoxes()">
    <bean:message key="button.askSearch"/>
</html:checkbox><br><br>

<html:radio property="aggregationType" value="Single Page Aggregation">
    <bean:message key="button.singlePage"/>
</html:radio>
<html:radio property="aggregationType" value="Three Page Aggregation">
    <bean:message key="button.threePage"/>
</html:radio><br><br>
<html:text property="searchString" size="42" maxlength="42"/>
<!--<html:submit property="searchEngineused">
    <bean:message key="button.lycosSearch"/>
</html:submit>
<html:submit property="searchEngineused">
    <bean:message key="button.askSearch"/>
</html:submit>
<html:submit property="searchEngineused">
    <bean:message key="button.yahooSearch"/>
</html:submit>&nbsp;&nbsp;
<html:submit property="searchEngineused">
    <bean:message key="button.altavistaSearch"/>
</html:submit>&nbsp;&nbsp;
<html:submit property="searchEngineused">
    <bean:message key="button.microsoftSearch"/>
</html:submit>&nbsp;&nbsp;-->
<html:submit property="searchEngineused" onclick="javascript: return checkEverything()">
    <bean:message key="button.search"/>
</html:submit>&nbsp;&nbsp;
</center>
</html:form>
<!--    <html:link page ="/CustomerDetails.jsp">Customer Form </html:link>-->
</body>
</html:html>
4

2 回答 2

0
  1. 你永远不会关闭你的<title>标签。
  2. 你有两个<head>部分。
  3. 正确缩进你的代码。
  4. 考虑重构你的 JS。
  5. 考虑使用 JS 库。
于 2013-03-13T14:22:07.643 回答
-1

您可以使用此代码。我认为它应该可以工作..而且你可以让它变得简单,而不是检查每个复选框的选中复选框计数,你可以在提交中检查它。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri ="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri ="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
  <head>
    <title>Meta Search Engine</tile>
    <html:base/>
        <script language="javascript">
        function validateCheckBoxes(){
           var yahooCheck = document.getElementsByName ('yahooCheck');
           var altavistaCheck = document.getElementsByName ('altavistaCheck');
           var microsoftCheck = document.getElementsByName ('microsoftCheck');
           var lycosCheck = document.getElementsByName ('lycosCheck');
           var askCheck = document.getElementsByName ('askCheck');

           var i = 0;
           if (yahooCheck[0].checked){
            i=i+1;
           }
           if (altavistaCheck[0].checked){
           i=i+1;
           }
           if (microsoftCheck[0].checked){
           i=i+1;
           }
           if (lycosCheck[0].checked){
           i=i+1;
           }
           if (askCheck[0].checked){
           i=i+1;
           }

    if(i>2){
        if (!yahooCheck[0].checked){
            yahooCheck[0].disabled = true;
        }
        if (!altavistaCheck[0].checked){
            altavistaCheck[0].disabled = true;
        }
        if (!microsoftCheck[0].checked){
            microsoftCheck[0].disabled = true;
        }
        if (!lycosCheck[0].checked){
            lycosCheck[0].disabled = true;
        }
        if (!askCheck[0].checked){
            askCheck[0].disabled = true;
        }   
    }

    if(i<3){
        if (yahooCheck[0].disabled){
            yahooCheck[0].disabled = false;
        }
        if (altavistaCheck[0].disabled){
            altavistaCheck[0].disabled = false;
        }
        if (microsoftCheck[0].disabled){
            microsoftCheck[0].disabled = false;
        }
        if (lycosCheck[0].disabled){
            lycosCheck[0].disabled = false;
        }
        if (askCheck[0].disabled){
            askCheck[0].disabled = false;
        }   
    }
    document.getElementById('checkValue').value = i;
    return true;
}

function checkEverything(){
    if (document.getElementById('checkValue').value < 3){
        alert('Please Select 3 Search Engines');
        return false;
    }
    if((!document.getElementsByName('aggregationType')[0].checked)&&    (!document.getElementsByName('aggregationType')[1].checked)){
        alert('Please Select the type of Aggregation');
        return false;
    }
    if(document.getElementsByName('searchString')[0].value == ""){
        alert('Please Enter a query to search for');
        return false;
    }
    return true;
}
</script>
<body>
<html:img page="/images/search-engine-share.gif"/>
<BR>
<html:form action="/submitSearchForm">
<center>
<input id="checkValue" type="hidden" />
<html:checkbox property="yahooCheck" onclick="javascript: return validateCheckBoxes()">
<bean:message key="button.yahooSearch"/>
</html:checkbox>
<html:checkbox property="altavistaCheck" onclick="javascript: return     validateCheckBoxes()">
<bean:message key="button.altavistaSearch"/>
</html:checkbox>
<html:checkbox property="microsoftCheck" onclick="javascript: return   validateCheckBoxes()">
<bean:message key="button.microsoftSearch"/>
</html:checkbox>
<html:checkbox property="lycosCheck" onclick="javascript: return validateCheckBoxes()">
<bean:message key="button.lycosSearch"/>
</html:checkbox>
<html:checkbox property="askCheck" onclick="javascript: return validateCheckBoxes()">
<bean:message key="button.askSearch"/>
</html:checkbox><br><br>

<html:radio property="aggregationType" value="Single Page Aggregation">
<bean:message key="button.singlePage"/>
</html:radio>
<html:radio property="aggregationType" value="Three Page Aggregation">
<bean:message key="button.threePage"/>
</html:radio><br><br>
<html:text property="searchString" size="42" maxlength="42"/>
<html:submit property="searchEngineused" onclick="javascript: return   checkEverything()">
<bean:message key="button.search"/>
</html:submit>&nbsp;&nbsp;
</center>
</html:form>
</body>
</html:html>
于 2013-03-26T17:13:14.277 回答