ããããRailsã«ã¤ãã¦æ¬é³ãæ¸ãã¦ã¿ãã
æè¿ã®å¤§ç°ãã@mixiã®ã¨ããã§ãRubyã«ã¤ãã¦èå¯ããæ©ä¼ããã£ãã®ã¨ããããã¡ããã®èãã¨åããã¨ãæã£ã¦ããã®ã§ããã¾ã«ã¯æ¬é³ã§æ¸ãã¦ã¿ãã
Railsã§ãæãè¯ãã¨ããã¯ããã¹ãã®éå½¢ãèªåçã«ä½ã£ã¦ããã¦ããã¹ãã®æ·å±
ãä¸ãã¦ããã¦ãã¨ããã ã¨æãããªã®ã«ãããã«ã¤ãã¦è§¦ãã人ããã¾ãã«ãå°ãªããããªæ°ããããä¸å¿ãç§ã¯ã1å¹´å以ä¸ãã¯ã¦ãªã®ãã¼ã¯ã¼ãæ¤ç´¢ã§æ¯æ¥Railsã«ã¤ãã¦ã¯èª¿ã¹ã¦ããã®ã§ãã¯ã¦ãªã§Railsã«ã¤ãã¦æ¸ãã¦ãã人ã®è¨äºã¯ããã¦ãè¦ã¦ãã¾ãã
çç±ã¯ãããã¤ãèãããã¾ãããç§ã®èªã¿ã ã¨ããã¹ããå½ããåã®äººã«ã¨ã£ã¦ã¯ãå½ããåããã¦ããããæ¸ãæå³ããªãããããã§ã¯ãªãå¤ãã®äººã«ã¨ã£ã¦ã¯ãã»ã¨ãã©ãã¹ãã¯æ¸ãã¦ããªãããããªãããªã
å®ã¯ããã¹ããæ¸ãã®ã¯çµæ§å·¥æ°ããããã§ãããã¹ã¯ãªããè¨èªã¯ãã³ã³ãã¤ã©ããã¹ãæãã¦ããããã¨ã¯ãªãã®ã§ãJavaã¨æ¯ã¹ãã¨ãããå¤ãã®ãã¹ããæ¸ãå¿
è¦ãããã¾ããã§ãããããªè©±ã»ã¨ãã©èãããã¨ãªãã§ãããã
RailsãJavaã«å¯¾ãã¦çç£æ§ãé«ãã£ã¦ãã£ã¦ããã®ã¯ããã¹ãå·¥æ°ãè¦ç©ããããããã¦ããå¯è½æ§ãé«ãããããªããã¨æãããã¹ããªãã§ãå°ããªããããªåç´ãªã¢ããªãä½ãã®ã«ã¯ãããã§ãåé¡ãªãããã¹ããå¿
è¦ã¨ãªã£ã¦ããç¨åº¦ã®è¤éãªã¢ããªãä½ãå ´åã«ã¯ãRailsã®ãã¹ãã®å·¥æ°ã¯ãããªãã«ãããã¨æãã
å¾ããããã¡ããã«è¨ã£ã¦ããã¨ãSeasar2ã§ã¯ãS2Unitã使ã£ã¦ããã¹ãã¡ã½ãããã¨ã«ãã¼ã¿ãç¨æã§ããããããã¼ã¿ãã¼ã¹ã使ã£ããã¹ãã¯ãRailsãããããããã¨æãããã ããã¹ãã®éå½¢ãä½ã£ã¦ãããã®ã¯ãRailsã®ã»ãããã£ã¨è¦ªåã
å¾ããããã°ã®ç°å¢ã¯ãJavaã«æ¯ã¹ã¦è²§å¼±ã ã¨æããRailsã§ãããã°ãããï¼ã¤ã®æ¹æ³ãè¦ã¦ã»ãããIDEã§ã½ã¼ã¹ã«ãã¬ã¼ã¯ãã¤ã³ããè¨å®(ã½ã¼ã¹ã³ã¼ããæ¸ãæããã®ã§ã¯ãªã)ãã¦ãã¹ãããã¤ã³ãã¹ããããªã¼ãã¼ãã¡ã¢ãªã®ç¶æ
ãè¦ãããªãã¦ã®ã«æ
£ãã¦ããJavaããæ¯ã¹ãã¨ããã£ãã大å¤ã«è¦ããããã¹ãããã¡ãã¨æ¸ãã°ããããã°ã¯å¿
è¦ãªãã¨ãã人ããããããããªããã©ããããã°ã§ããããããªããã¨ãã©ããã¦ãããããããã°ãå¿
è¦ãªã»ã©è¤éãªããã°ã©ã ã ã¨ãã³ã¹ããçµæ§ãããã ããã
å¾ããã®å¾ã®è©±ã¯ãRailsã¨ããããRubyãRubyã¨ããããã¹ã¯ãªããè¨èªã®ãã¨ãªãã ãã©ãä»äººã®ä½ã£ãã½ã¼ã¹ã³ã¼ããèªãã ããå©ç¨ãããããã®ã¯ãã¹ã¯ãªããè¨èªã¯ãJavaã¨æ¯ã¹ã¦ã¤ããã¨æããåã®æ
å ±ããªããããæ¨æºã©ã¤ãã©ãªã®ããã«ä½¿ãæ¹ãå¤ã£ã¦ãããã¤ãªããããã ãã©ã
èªåã§ä½ã£ããã¤ã¯åããªãã¦ã大ä¸å¤«ãªãã§ãããèªåã§ç¥ã£ã¦ããããã§ããæéããã¤ã¨ãããæªãããã ãã ãå¿ãã¦ãããããã
ã¾ããåæ
å ±ããªãã¨ãå®å
¨ã«ãªãã¡ã¯ã¿ãªã³ã°ããããã¨ã¯é£ãããgrepã§ä¸æ¬å¤æã§ãããªãã¦ç¶æ³ã¯éããã¦ãããããã¹ã¯ãªããè¨èªã§å¹çããããªãã¡ã¯ã¿ãªã³ã°ããã®ã¯é£ããã¯ãã
ä½ãæ¨ã¦ãªãè¯ããã©ãã¡ã³ããã³ã¹ãå¿
è¦ã«ãªã£ã¦ããå ´åã¯ããªãã¡ã¯ã¿ãªã³ã°ã¯å¿
è¦ã§ããã
çµå±ããã¹ãããã¾ãå¿
è¦ã«ãªããªãè¦æ¨¡ã§ããããã°ããªãã¡ã¯ã¿ãªã³ã°ããã¾ããããªããªããRailsã¯çç£æ§ãé«ãã¨æããã§ãããããªãã®è¤éæ§ãåºã¦ããã¨ãã¹ããããå¤ãå¿
è¦ã«ãªã£ã¦ããã®ã§ãçç£æ§ã¯Javaã¨ãã¾ãå¤ãããªããªã£ã¦ããã¯ãã
å°è¦æ¨¡ãªéçºã ã¨RailsãJavaããå§åçã«çç£æ§ãé«ããã¨ããã¨ãä»ã®Javaã«ã¯ãHOT deployã®ã§ããSeasar2ãããããã¬ã¼ã ã¯ã¼ã¯ã®ã§ãã¯ãSAStrutsã®ããã¥ã¡ã³ããè¦ã¦ããã ããã°ãRailsåæ§ã®çç£æ§ãåºãããã¨ãããã£ã¦ããããã¨æãã
ããã©ã¼ãã³ã¹ãæ®éã«ä½ã£ã¦ãåºããã¨ã¯éè¦ã§ãããå¾ãããã¥ã¼ãã³ã°ãå¿
è¦ã«ãªãã¨ããã ãå·¥æ°ãããã£ã¦ãã¾ãããã
追è¨:
ãããã¬ã«é¢ãã¦Rails2.0ã ã¨ãã£ã¨è¯ãããæ¹ãããããã§ããå¤æ°ã®ç¶æ
ãè¦ãããã©ããã¯æ¸ãã¦ãªããã©ããã£ã¨å¤§ä¸å¤«ã§ããããã¹ãããã¤ã³ãã¹ããããªã¼ãã¼ãå¤æ°ã®ç¶æ
ãã¿ãããããã ãããã°ãååã§ããã
追è¨2:
ä»åã®è¨äºãä¸å¯§ã«ãã©ã¼ãã¼ãã¦ãã ãã£ãæ¹ãããã®ã§ããã²ãããã¦èªãã§ãã ããã
http://www.rmake-labo.com/akasata/articles/show/252
http://d.hatena.ne.jp/moro/20080111/1200046589
å¾ãç§ã®æ¸ãæ¹ãæªãã¦èª¤è§£ããã¦ããæ¹ãå¤ãã¨æãã¾ãããã¹ã¯ãªããè¨èªã®ã½ã¼ã¹ãèªã¿ã«ããã¨æ¸ãã¦ããã¤ããã¯ããã¾ãããä»ã®äººã®æ¸ããã½ã¼ã¹ã追ãããã¦ããã¨ãã«ãåæ
å ±ããã£ãã»ãããæ
å ±ãå¤ãå追ã£ãããããã¨ãããã¨ã§ãã
ã¾ããä»ã®ã¯ã©ã¹ãå©ç¨ããã¨ãã«ãã¡ã½ããã®å¼æ°ã«åããã£ãã»ãããä½ã渡ãããããæ確ã ã¨ãããã¨ã§ãã
å¾ãRubyã¯å¤§ã¯ã©ã¹ä¸»ç¾©ã§ãã¯ã©ã¹ã渡ãæ©ãå¿
è¦ããã¾ããªããJavaã¯å°ã¯ã©ã¹ä¸»ç¾©ã§è¤æ°ã®ã¯ã©ã¹ã渡ãæ©ãå¿
è¦ãå¤ãã¨ãã太ç°ããã¨ãã®è©±ããèããããããã¨ããããããããå°ãè°è«ãã¦ã¿ããã¨ããã§ãã大ã¯ã©ã¹ä¸»ç¾©ã¨å°ã¯ã©ã¹ä¸»ç¾©ã®è©±ãæ¬å½ãªããRubyã¯ä»ã®ã¯ã©ã¹ãJavaã»ã©ä½¿ããªãã®ã§ãåããªãã¦ãæ°ã«ãªããªãã¨ãããã¨ããããã¾ããã
ã§ããJavaã®æ¹ãèªã¿ã«ãããã¨ããæè¦ãããã§ãããã
ã¾ãããã®è¨äºãèªãã§ãã ããã確ãã«Javaã¯ãããè¦ãããã©ãããã¯ãJavaã®è©±ã§ã¯ãªããStruts,Spring,Hibernateã®è©±ã§ããSeasar2ã§ããã°ã
ã§ãRailsã ã¨ãããªæãã
@Execute(urlPattern = "edit/{id}") String edit() {
person = jdbcManager.from(Person.class).id(id).getSingleResult();
return "edit.jsp";
}
ãã£ã±Javaã®æ¹ãã½ã¼ã¹ã³ã¼ããå¤ãã¸ã£ã³ã¨æãããæ¹ãããã¨æãã¾ãããä»ã®Seasar2ã¯è¦ç´ã¯æå°éã«ãã¦å¾ããè¦ã人ã®ããã«ãã½ã¼ã¹ã追ãããã®å¿ è¦ãªæ å ±ãæ®ãããã«ãã¦ãã¾ãããã®è¾ºã¯ãããªã·ã¼ã®éãã§ããã
def edit
@person = Person.find(params[:id])
end
ã¡ãªã¿ã«Struts,Spring,Hibernateçã¯ãã¡ã
PersonManagerã¯ã©ã¹ã¯ä»ã§å®ç¾©ããã¦ããããgetBean()ãconvert()ãupdateFormBean()ã¨ããã¡ã½ãããä»ã§å®ç¾©ããã¦ããã¯ããªã®ã§ãå®è³ªã¯ããã«å¢ãã¾ããããã¯ãããæããã¨ãããã¾ããããããè¦ã¦ããããJavaãªãã ã¨æã£ã¡ãã ãã§ã(ç¬)ã
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
PersonForm personForm = (PersonForm) form;
PersonManager mgr = (PersonManager) getBean("personManager");
Person person = mgr.getPerson(personForm.getId());
personForm = (PersonForm) convert(person);
updateFormBean(mapping, request, personForm);
return mapping.findForward("edit");
}
SAStruts rc3ãªãªã¼ã¹
SAStruts rc3ããªãªã¼ã¹ãã¾ããã
ãªãªã¼ã¹ãã¼ã
- Bug
ãã¦ã³ãã¼ãã®ãµã³ãã«ã追å ãã¾ããã
SAStrutsã®ãã¦ã³ãã¼ãã¯ãã¡ãã
http://sastruts.sandbox.seasar.org/download.html
ã¾ããä»åã®ãªãªã¼ã¹ã®ã«ãããã¦ãæ£å¼ãªãªã¼ã¹ã®äºå®ãè¥å¹²å¤æ´ãã¾ãã18æ¥ã®åå¾ã«Sandboxåæ¥ãç³è«ãã¦ã19æ¥ã«æ£å¼ãªãªã¼ã¹ããããã«ãããã¨æãã¾ãã
ãããããé¡ããã¾ãã