Struts小结
来源:互联网 发布:余弦距离相似性算法 编辑:程序博客网 时间:2024/06/03 16:24
1.需牢记原则:不要在Action中进行业务逻辑的处理,业务逻辑应交给专门的Model层去做
在业务逻辑层抛出异常,并在Action中捕捉和处理
2.struts的常用标签
<logic:empty name="userlist">
<tr><td colspan="3">没有符合属性的用户!</td></tr>
</logic:empty>
<logic:notEmpty name="userlist">
<logic:iterate id="i" name="userlist">
<tr>
<td><bean:write name="i" property="name"/></td>
<td><bean:write name="i" property="age"/></td>
<td><bean:write name="i" property="group.group"/></td>
</tr>
</logic:iterate>
</logic:notEmpty>
3.动态DynaActionForm
动态ActionForm其实是把页面中的html元素的名字和值放到了map中,所以通过get方法可以取出相应的值
动态ActionForm采用EL表达式的输出方式,${dynabean.map.prop},
4.actionForward
String page = request.getParameter("page");
//选择定向
// if("1".equals(page)){
// return mapping.findForward("page1");
// }
// else if("2".equals(page)) {
// response.sendRedirect("page2.jsp");
// return null;
// }
// return null;
//* 1.自定义重定向!
// response.sendRedirect("page"+page+".jsp");
// return null;
//* 2.自定义重定向!
ActionForward af = new ActionForward();
//*****注意格式!!!!!!!!!!
af.setPath("/page"+page+".jsp");
return af;
************************************************************************
*<global-forwards> *
* <forward name="login" path="/login.jsp" redirect="true"></forward> *
*</global-forwards> *
************************************************************************
5.国际化
JAVA:
Locale la = Locale.getDefault();
System.out.println(la.getCountry());
System.out.println(la.getLanguage());
//Locale lb = new Locale("en", "US");
Locale lb = new Locale("zh", "CN");
ResourceBundle rb = ResourceBundle.getBundle("MessageBundle", lb);
System.out.println(rb.getString("k1"));
System.out.println(rb.getString("k2"));
MessageFormat mf = new MessageFormat(rb.getString("k1"));
System.out.println(mf.format(new Object[]{"sdfsd","asdas"}));
Struts:
<message-resources parameter="i18n.MessageResources" />
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm laf = (LoginActionForm)form;
String username = laf.getUsername();
String password = laf.getPassword();
//国际化处理
try{
UserManager.getInstance().login(username, password);
ActionMessage message = new ActionMessage("login_success_name", username);
ActionMessages messages = new ActionMessages();
messages.add("success", message);
this.saveMessages(request, messages);
return mapping.findForward("success");
} catch(UserNotFoundException unfe) {
unfe.printStackTrace();
ActionMessage error = new ActionMessage("login_error_name", username);
ActionMessages errors = new ActionMessages();
errors.add("error", error);
this.saveErrors(request, errors);
} catch(PasswordErrorException pee){
pee.printStackTrace();
ActionMessage error = new ActionMessage("login_error_password");
ActionMessages errors = new ActionMessages();
errors.add("error", error);
this.saveErrors(request, errors);
}
return mapping.findForward("error");
}
}
<bean:message key="login_error_title"/>
<html:messages id="msg" message="true">
<bean:write name="msg"/>
</html:messages>
默认message读取错误的消息,message="true"读正确消息
<html:errors id="msg">
JSTL的国际化标签:
<fmt:setLocale value="${header['accept-language']}"/>
<fmt:setBundle basename="i18n.MessageResources"/>
<fmt:message key="username"/>:<input type="text" name="username"><br>
<fmt:message key="password"/>:<input type="password" name="password"><br>
- struts小结
- struts小结
- Struts小结
- struts小结
- struts小结
- Struts 小结
- struts小结
- Struts 问题小结
- Struts原理小结
- struts国际化小结
- Struts学习小结 一
- Struts学习小结 二
- Struts学习小结 三
- Struts小结----Result
- struts标签小结
- struts.xml配置文件小结
- struts配置小结(一)
- Struts 简单小结
- JSTL标签
- (转)sql语句递归查询和删除问题
- 2009-9攻略
- Spring 里JMS和DB的事务集成
- NET-SNMP开发记录
- Struts小结
- Oracle TRUNCATE语法
- 不申请空间交换两个值
- Windows7 简体中文MSDN官方正式版
- shell中数组匹配的问题
- MyEclipse下XFire开发Webservice实例
- JSTL标签和Struts标签的对应参照
- JDK常用命令及其常用选项
- 新手上路