正确理解Jsp页面中的解释顺序会帮助我们写出比较好的Struts页面代码。也能够更加灵活的运用Struts。
Jsp中的几种代码:
A.HTML代码
如:
<html>
<head>
</head>
</html>
B.Script代码
如:
<bean:define id="maxFileSize" name="BBS0090" property="maxFileSize"/>
<SCRIPT language="javascript">
<!--
if(document.BBS0090.windowFLG0091.value == "NEWRECORD2"){
window.opener.document.BBS0090.submit();
}else if(document.BBS0090.windowFLG0091.value == "FILESIZE"){
alert("<bean:message key="err.boa0090.fileSizeTooBig" arg0="<%=maxFileSize.toString()%>"/>");
document.BBS0090.windowFLG0091.value = "";
document.BBS0090.submit();
}
//-->
</SCRIPT>
C.JAVA代码
如:
<%=maxFileSize.toString()%>
D.Struts代码
如:
<bean:message key="err.boa0090.fileSizeTooBig" />
通常在从Server到Client的时候,先解释C类代码,之后解释D类,最后由Client来解释A和B。
所以上例的Struts代码是可以被执行的。
<bean:message key="err.boa0090.fileSizeTooBig" arg0="<%=maxFileSize.toString()%>"/>
因此Script代码也能够正常执行:
alert("<bean:message key="err.boa0090.fileSizeTooBig" arg0="<%=maxFileSize.toString()%>"/>");