更改HTML往下拉框SELECT选项的多种多样方式

递交表单后回到的HTML网页页面再次3D渲染,SELECT控制的value和selectedIndex特性都没法使往下拉框保存递交表单前的情况。

拷贝编码
编码以下:

<SELECT id="idState" style="width:150" name="state" selectedIndex="$!{state}">
<OPTION value="">所有</OPTION>
<OPTION value="1">根据</OPTION>
<OPTION value="2">末根据</OPTION>
<OPTION value="3">等待处理</OPTION>
</SELECT>

1种临时性的处理计划方案是在vm文档结尾再加1段脚本制作为往下拉框取值

拷贝编码
编码以下:

<script>
$('#idState').val('$!{state}');
</script>

另外一种计划方案是设定默认设置选定项

拷贝编码
编码以下:

<SELECT id="idState" style="width:150" name="state" value="$!{state}">
<OPTION value="">所有</OPTION>
<OPTION value="1">根据</OPTION>
<OPTION value="2" SELECTED>末根据</OPTION>
<OPTION value="3">等待处理</OPTION>
</SELECT>

用VTL的写法便是

拷贝编码
编码以下:

<SELECT id="idState" style="width:150" name="state" value="$!{state}">
<OPTION value="">所有</OPTION>
<OPTION #if($!{state} == 1) SELECTED #end value="1">根据</OPTION>
<OPTION #if($!{state} == 2) SELECTED #end value="2">末根据</OPTION>
<OPTION #if($!{state} == 3) SELECTED #end value="3">等待处理</OPTION>
</SELECT>

这里要留意的是:开展==较为时,Velocity是区别种类的,假如用标识符串“1”、“2”、“3”较为会自始至终获得false。
velocity中较为的难题
针对velocity来讲,较为特别是涉及到到不等较为(超过或小于)全是较为难完成的。如今我想把网页页面上的file size归类显示信息(Bytes、MB、GB),因而就涉及到到较为filesize尺寸的难题,请问1下现阶段有木有较为好的方法完成呢?
例如下面的编码:

拷贝编码
编码以下:

#if ($filesize > 1024 && $filesize < 1048567)
#set($ksize = $filesize%1024)
<div class="mlt">File Size: $ksize KB
#elseif ($filesize > 1048567 && $filesize < 1073731824)
#set($msize=$filesize%1048567)
<div class="mlt">File Size: $msize MB
#elseif ($filesize > 1073731824)
#($gsize=$filesize%1073731824)
<div class="mlt">File Size: $gsize GB
#else
<div class="mlt">File Size: $filesize Bytes
#end


拷贝编码
编码以下:

<PRE class=html name="code"><SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif"><SPAN style="WHITE-SPACE: normal">
</SPAN></SPAN></PRE>
<PRE></PRE>
<PRE></PRE>
<PRE></PRE>