如果Jsp表单字段为空或空,该怎么做

时间:2015-01-16 05:40:20

标签: jsp struts2

您好我正在开发JSP Form.If Jsp表单字段为空或Null我想打印或更新该空白字段为N / A.我怎么能这样做?

<td><s:textfield name="surname" id="surname"  maxlength="50"
                 cssClass="TextBox" cssStyle="width:180px;"/></td>
<td><s:textfield name="forename" id="forename" maxlength="50"
                 cssClass="TextBox" cssStyle="width:180px;"/></td>
<td><s:textfield name="fullname" id="fullname" maxlength="100" 
                 cssClass="TextBox" cssStyle="width:180px;" /></td>

如果用户未输入forename,那么值应该更新&#39; NA&#39;在数据库中。

1 个答案:

答案 0 :(得分:1)

有几种方法。

您可以在javascript客户端通过表单onsubmit事件或提交按钮的onclick事件调用的函数中执行此操作:

&#13;
&#13;
<form action="/foo" onsubmit="formatIt();">
    <input type="text" name="forename" id="forename" />
    <input type="submit"/>
</form>
<script>
    formatIt = function(){
        var fn = document.getElementById("forename");
        if (fn.value === '') { 
            fn.value = "N/A"; 
        }

        alert ("I will send " + fn.value);
    }
</script>
&#13;
&#13;
&#13;

但是如果你有不同的页面处理这个变量,你必须记住在多个地方应用相同的行为。

为避免这种情况,您可以将这个小逻辑直接放在变量的getter中:

public String getForename(){
    return (forename!=null && forename.length()>0) ? forename : "N/A";
}

变量应该是更大的共享对象(如Person.java)的一部分,而不是放在每个动作类中的单个变量(或者你必须记住将这个小逻辑放在每个getter中。 。)