jsp中注释掉的代码为什么还会起作用

<!--


function init() {


    if (${! SME230FormBean.viewFlg && ! SME230FormBean.rawFlg}) {


        inputChk_disableMinMax('${SME230FormBean.inChk_selChkType}');


        <logic:notEmpty name="SME230FormBean" property="inChk_selCharKindType">

            <logic:iterate id="inChk_selCharKindType" name="SME230FormBean" property="inChk_selCharKindType">

                <c:if test="${inChk_selCharKindType == 'ALL'}">

                    inputChk_SelCharKindAll('ALL');

                </c:if>

            </logic:iterate>

        </logic:notEmpty>


        inputFld_disabled('${SME230FormBean.inFld_selFldType}');


        defVal_disabled('${SME230FormBean.defVal_selUseType}');

    }

    

    if (${! SME230FormBean.viewFlg && SME230FormBean.rawFlg}) {

        inputFld_disabled('${SME230FormBean.inFld_selFldType}');

        defVal_disabled('${SME230FormBean.defVal_selUseType}');

    }


    viewFmt_disabled('${SME230FormBean.viewFmt_selUseType}');

    default_disabled('${SME230FormBean.default_selUseType}');

}


//-->

以上代码是jsp中的。


<td>

                <html:radio name="SME230FormBean" property="default_selUseType" value="0" onclick="default_disabled('0');" ><bean:message key="SME230.sequ.nouse" bundle="mi"/></html:radio>

                <html:radio name="SME230FormBean" property="default_selUseType" value="1" onclick="default_disabled('1');" ><bean:message key="SME230.sequ.usesequ" bundle="mi"/></html:radio>

                <html:radio name="SME230FormBean" property="default_selUseType" value="2" onclick="default_disabled('2');" ><bean:message key="SME230.sequ.useinde" bundle="mi"/></html:radio>


                <html:select name="SME230FormBean" property="default_selFmtType" styleClass="selectBox2">

                    <html:optionsCollection name="SME230FormBean" property="default_pullDownList"/>

                </html:select>

            </td>



以上是onclick事件触发的js动作。


这是一段写在jsp中被注释掉的代码,最后两行是用来做一个下拉框的初始设定,控制初始时下拉框是活性的还是非活性的。

如果没有末尾的两行代码,js就不会起到应有的作用。不明白为什么备注是的代码还会起作用,求指教。


PIPIONE
浏览 952回答 4
4回答

蝴蝶不菲

这种用法是一种以前的老技巧,现在有时候还能看到,但已经不常用了。在浏览器的上古时代,各种浏览器对JS的支持各不相同,很多浏览器压根不支持JS,所以那些支持浏览器的厂商就制定了这么一种策略,在<script>标签中的<!--会被忽略,而//-->由于用了JS注释,所以也不会起作用,因此对支持JS的浏览器来说这两行并没有起到注释的作用。但是对不认识JS的浏览器来说就不一样了,它们会把<!--当做HTML注释,然后由于不认识JS,所以最后的//-->也并不会被当做JS注释,结果就是所有JS代码都被当成了HTML注释看待,变成普通的注释文本了。那时候,JS通常只是用来实现一些花哨的效果,表单验证时代都还没有开始,所以有没有JS实际上关系并不是很大,顶多就是没那么好看而已。其实这种用法现在还有,比如严格模式就是由"use stric"这么一个字符串表示的,对于不支持严格模式的JS引擎来说这就是一个普通的字符串,但反之则是开启严格模式的命令。其他的例子还有IE注释等,都是用的这种策略。

回首忆惘然

哪只眼睛看到被注释了<!-- //注释开始--> //注释结束but// --> //结束注释被注释掉了 所以就没用了啊。

隔江千里

参考这个试试?how to use comments in JSP

慕容708150

js函数能用<!---->注释?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java