Bal*_*usC 24
确实有两种方法来挽救这一点.
使用JavaScript.
<h:inputText ... onblur="value=value.toUpperCase()" />
Run Code Online (Sandbox Code Playgroud)使用JSF.
<h:inputText ... converter="toUpperCaseConverter">
<f:ajax event="blur" render="@this" />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
@FacesConverter("toUpperCaseConverter")
public class ToUpperCaseConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) {
return (submittedValue != null) ? submittedValue.toUpperCase() : null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object modelValue) {
return (modelValue != null) ? modelValue.toString() : "";
}
}
Run Code Online (Sandbox Code Playgroud)JS方法非常简单.但是,这可以被最终用户篡改,因为它在最终用户的完全控制下在客户端完全执行.最终用户可以在实际发送到服务器端之前禁用/跳过该JS代码和/或编辑请求参数.JSF方法不可篡改,因为这是在服务器端完全执行的,因此这会产生更加可靠和可靠的结果.
您必须根据最符合业务要求的事实来决定.
归档时间: |
|
查看次数: |
23894 次 |
最近记录: |