1

私はJavaにかなり慣れていないので、我慢してください。フォーム データを処理してエラー ログに送信する簡単なスクリプトがあります。電話フィールドが入力されていない場合はエラーログに送信しないという単純なnullチェックがあります。しかし、何らかの理由で機能していません。エラーログに表示されるのは、単に「アカウントに関連付けられた電話番号:」という文字列だけです。何かアイデアはありますか?

String phone = request.getParameter("phoneNumber");
String showPhone = (phone != null) ? " Phone number associated with account: " + phone : "";

log.error(showPhone);
4

3 に答える 3

3

どのフレームワークを使用しているかはわかりませんが、Java では null オブジェクトと空の文字列は同じではありません。あなたは試してみたいかもしれません:

String showPhone = (phone != null && phone.trim().length()>0) ? " Phone number associated with account: " + phone : "";

&& phone.trim().length()>0文字列にコンテンツがあることを確認します。

于 2013-05-09T17:17:34.267 に答える
1

あなたが使いたいのはStringUtils.isNotEmpty

 StringUtils.isNotEmpty(null)      = false
 StringUtils.isNotEmpty("")        = false
 StringUtils.isNotEmpty(" ")       = true
 StringUtils.isNotEmpty("bob")     = true
 StringUtils.isNotEmpty("  bob  ") = true

またはStringUtils.isNotBlank

 StringUtils.isNotBlank(null)      = false
 StringUtils.isNotBlank("")        = false
 StringUtils.isNotBlank(" ")       = false
 StringUtils.isNotBlank("bob")     = true
 StringUtils.isNotBlank("  bob  ") = true

このような:

String phone = request.getParameter("phoneNumber");
String showPhone = StringUtils.isNotBlank(phone) ? " Phone number associated with account: " + phone : "";
于 2013-05-09T17:20:34.113 に答える
0
public bool isNullOrEmpty(String val){
return val==null||"".val.trim();
}
于 2013-05-09T18:05:01.350 に答える