问题是这样的,在我的系统中所有的搜索之后结果要把原来的搜索条件也列出来,在大部分地方是这样的写法:
<input type="text" class="text" name="filter_LIKES_content" id="scontent" value="${param.filter_LIKES_content}" size="15" maxlength="20" />
搜索条件的值通过param可以直接“.”出来,就在页面显示出搜索条件了。ok,没问题。
但后来遇到这样一种情况:
<input type="text" class="text" name="filter_LIKES_push.pushSubject" id="scontent" value="${param.filter_LIKES_push.pushSubject}" size="15" maxlength="20" />
也就是搜索条件的名称含有“.”,这样通过param去取这个名称的参数值的时候就取不到该参数的值了,我分析认为可能是
${param.filter_LIKES_push.pushSubject}
这段代码中含有两个“.”,request中取参数时不知参数名到哪里结束,因而取不到值。
后来我用了一种替代方案是这样的:
<% String content = request.getParameter("filter_LIKES_push.pushSubject")==null?"":request.getParameter("filter_LIKES_push.pushSubject"); %>
<input type="text" class="text" name="filter_LIKES_push.pushSubject_OR_push.pushContent" id="scontent" value="<%=content %>" size="15" maxlength="20" />
虽然问题解决了,但我还是想找到通过${}这种写法的就可以取出带有“.”的参数值的方法,如果有好的建议的,可以提供出来,其他的方法也欢迎晾出来!