strutsプログラミング異常--html:errorとhtml:message
strutsプログラミング異常プロセス:
異常情報をキャプチャする.例外情報を作成します.異常情報を伝達する.該当ページに移動
次のようになります.
注意プログラム:
saveMessagesとsaveErrorsの2つのメソッドの呼び出し
strutsはまた、リソースファイルで次のプロパティを定義することを規定します.
複数の異常情報が連続する場合、それぞれがLIに表示する、複数の情報がULに表示される.
各例外情報を赤いフォントで表示したい場合は、次のようにします.
異常情報をキャプチャする.例外情報を作成します.異常情報を伝達する.該当ページに移動
<html:errors/>
<html:messages id="msg" message="true">
<bean:write name="msg"/>
</html:messages>
message="true" message , message false html:error
次のようになります.
package com.lwf.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.lwf.struts.form.LogonForm;
import com.lwf.struts.util.UserManageEntity;
import com.lwf.struts.util.UserNotFoundException;
public class LogonAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionMessages errors = new ActionMessages();
ActionForward forward = new ActionForward();
LogonForm logonForm = (LogonForm)form;
String name = logonForm.getUsername();
String pwd = logonForm.getPassword();
try {
UserManageEntity.UserManager(name);
errors.add("logonerror1", new ActionMessage("error.login.user"," myerrmsg"));
this.saveMessages(request, errors);
request.getSession().setAttribute("user", logonForm);
forward = mapping.findForward("success");
} catch (UserNotFoundException e) {
errors.add("logonerror2", new ActionMessage("error.login.again"," error2"));
this.saveErrors(request, errors);
forward = mapping.findForward("error");
}
return forward;
}
}
注意プログラム:
saveMessagesとsaveErrorsの2つのメソッドの呼び出し
package com.lwf.struts.util;
public class UserManageEntity {
public static void UserManager(String username) throws UserNotFoundException{
if(username!=null && !username.equals("admin")){
throw new UserNotFoundException();
}
}
}
package com.lwf.struts.util;
public class UserNotFoundException extends Exception {
public UserNotFoundException(){}
public UserNotFoundException(String message){
super(message);
}
}
strutsはまた、リソースファイルで次のプロパティを定義することを規定します.
errors.header = <UL>
errors.prefix = <LI>
errors.suffix = </LI>
errors.footer = </UL>
複数の異常情報が連続する場合、それぞれがLIに表示する、複数の情報がULに表示される.
各例外情報を赤いフォントで表示したい場合は、次のようにします.
errors.header = <UL>
errors.prefix = <LI><font color="red">
errors.suffix = </LI></font>
errors.footer = </UL>