根据请求属性渲染html输入

时间:2014-10-07 09:03:22

标签: html jsp scriptlet

所以我有一个表单,它将数据提交给服务器。提交后,请求中填写了一些属性。我想基于这些属性渲染或不渲染页面上的一些元素。

基本上我想要这样的东西。

<% String productName = "";
    if( request.getParameter("productName") != null ){
                productName = (String) request.getParameter("productName");
    }
%>

<input type="text" id="product" name="Product" readonly="readonly" 
value="<%= productName %>" rendered="#{<%= productName %> not empty}"/>

这可以实现吗?

3 个答案:

答案 0 :(得分:0)

我不知道,我真的理解你的问题,但如果我是,我想你已经回答了这个问题:)

只需将输入文本元素放入条件中,因此如果productName不为null,则显示它,否则不显示。

如果这不是您的问题的正确答案,请更具体。

答案 1 :(得分:0)

我认为您需要根据productName等参数的值隐藏或显示一些输入字段。你所写的内容是正确的,但你需要做一些修改才能达到这个目的,如下所示:

<% 
   String productName = (String) request.getParameter("productName");
   if( productName != null && productName.length() > 0){
 %>
    <input type="text" id="product" name="Product" value="<%= productName %>" readonly="readonly"/>               
 <%                
    }
 %>

愿这对你有所帮助。

答案 2 :(得分:0)

我建议您使用JavaServer Pages Standard Tag LibraryExpression Language代替 Scriplet ,它更易于使用且不易出错。

使用${param.productName}从请求中获取参数值,如下所示:

<c:if test="${not empty param.productName}">
    <input type="text" id="product" name="Product" readonly="readonly" value="${param.productName}"/>
</c:if>