|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,net网页编程beans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。
择要:
Stripes是一个以让程序员的web开辟复杂而高效为原则来计划的基于举措的开源Javaweb框架。本文将先容Stripes与别的如Struts之类基于举措的框架的区分和其供应的一些存在于RubyonRails当中的复杂性。Stripes是一个以让程序员的web开辟复杂而高效为原则来计划的基于举措的开源Javaweb框架。传统的Javaweb开辟着眼于借往耦(Decoupling)来完成其天真性,但招致多个的设置文件,分外的对象,和其他资本的分离。这些坚苦形成相称多的程序员的更高的进修工夫和低下的效力。其了局是有些Java程序员被一些非Java的框架所吸引往了:RubyonRails大概Django。一些Javaweb框架,如Stripes,正在入手下手从这些非Java框架中吸取其乐成履历:复杂而高效的开辟。本文将先容Stripes与别的如Struts之类基于举措的框架的区分和其供应的一些存在于RubyonRails当中的复杂性。
是典范的用Stripes写的使用程序中的一般事务流程和组件。
<br>
典范Stripes流程
如你所见,其流程基础上就是一个MVC框架。Stripes和其他的基于举措的框架的一个次要的区分是没有一个内部的设置文件。我们随后将看到,Stripes用annotation和商定而非设置来进步产出和削减混乱。
编写你的第一个Stripe举措(Action)
让我们如今就入手下手经由过程创立HelloWorld例程来懂得Stripes框架和了解其运作。HelloWorldAction类将提醒用户输出姓氏和名字然后在另外一个View内里显现,起首我们来编写controller类。
publicclassHelloWorldActionimplementsActionBean{
@ValidateNestedProperties({
@Validate(field="firstName",required=true,
on={"hello"}),
@Validate(field="age",required=true,minvalue=13,
on={"hello"})
})
privatePersonperson;
privateActionBeanContextcontext;
@DefaultHandler
publicResolutionindex(){
returnnewForwardResolution("Hello.jsp");
}
publicResolutionhello(){
returnnewForwardResolution("SayHello.jsp");
}
publicvoidsetPerson(Stringperson){this.person=person;}
publicStringgetPerson(){returnperson;}
publicvoidsetContext(ActionBeanContextc){this.context=c;}
publicActionBeanContextgetContext(){returncontext;}
}
Controller类是一个完成了Stripes特有接口ActionBean的POJO(PlainOldJavaObject,译注:读破粥)。一切的Stripes举措类都要完成这一接口以让StripesDispatcherservlet在运转服务时为其注进一个ActionBeanContext对象。ActionBeanContext对象可让你存取的对象如request、response、和servletcontext等servletAPI。年夜多半时分在Stripes使用中是不必读取这些底层API对象的。ActionBeanContext类还供应以后举措的形态并能够增加信息动静和毛病动静到以后举措中。ActionBeanContext的变量和其读写办法能够放在一个基类内里,由于一切的Stripes举措都要完成之。
Controller类的其他部分关于任何Java程序员来讲都是很面善的。有一个Person对象和其读写办法是用来读写用户的姓名给view的。固然这仅仅是一个复杂的嵌套对象,Stripes能够经由过程Java汇合、泛型撑持、和下标化的属性来完成更庞大完美的数据绑缚。由于Stripes能够处置庞大数据绑缚,你的范畴对象(DomainObject)能够在其他必要它们的层重用。比方:经由过程Stripes你能够很简单的搜集一个范畴对象的信息,然后用其他的POJO框架,如Hibernate大概EJB3来对其举行耐久化。
Person对象变量上有一个Stripes考证annotation用来包管用户在激活hello办法的时分已输出了姓名。假如用户没有输出这两个必须的变量,原始页会被前往,并显现一个相干的毛病动静。该考证只要在hello事务被请求的时分才会被激活,由于annotation的属性中指定了(on={"hello"})。Stripes还会利用有用默许法例,依据考证办法和变量称号发生一个毛病信息。比方,假如Person类的firstName变量在提交的时分没有供应,用户将看到:
PersonFirstNameisarequiredfield.
<p>这条动静是经由过程将Person.firstName举行刻读化处置后失掉的。假如有需要,这些毛病动静能够被重载来供应更多的客户自界说功效。
前些天,在CSDN上看到了一个消息,说是net网页编程网页编程AJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。 |
|