下一代的B/S开发框架--Echo 教程(3)

原创 2003年03月13日 09:02:00

下一代的B/S开发框架--Echo 教程(3)

HelloWorld

编写Echo应用, 只需要一个Servlet和一个Instance, 剩下的就是开发页面了.

/************MainServlet.java************
 * 主Servlet, 唯一的URL入口
 */
import nextapp.echo.*;
import nextapp.echoservlet.EchoServer;

public class MainServlet  {
  public EchoInstance newInstance() {
    return;
  }
}
/************MainInstance.java************
 * 代表本Session, 供MainServelet调用
 */
import nextapp.echo.*;
public class MainInstance  {
  //返回代表首页的Window
  public Window init() {
    return ;
  }
}
/************HelloWorldWindow.java************
 * 用户Window, 根据需要自行定制. 这里我们演示一些常用控件
*/
import nextapp.echo.*;
public class HelloWorldWindow extends Window {
public Label label = new Label("Hello world");
public HelloWorldWindow() {
ContentPane content = new ContentPane();
setContent(content);
Grid grid = new Grid();
content.add(grid);
grid.add(0,0,label);
grid.add(0,1,new Button("Hello world"));
grid.add(0,2,new RadioButton("Hello world"));
grid.add(0,3,new CheckBox("Hello world"));
grid.add(0,4,new SelectField(new String[]{"Hello world"}));
grid.add(0,5,new TextField("Hello world"));
grid.add(0,6,new TextArea("Hello world"));
}
} //======== web.xml配置 ======= <servlet>
<servlet-name>echo</servlet-name>
<servlet-class>MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>echo</servlet-name>
<url-pattern>/echo</url-pattern>
</servlet-mapping>

运行看看, 纯Java一样写出HTML!

让我们看看事件处理:

/************Test1Window.java************
 * 演示事件处理
 * 请在MainInstance类中返回本new Test1Window()
 */
import nextapp.echo.*;
import nextapp.echo.event.*;
public class Test1Window extends Window  {
  TextField txtInput = new TextField("some worlds");
  Button btnUpdate = new Button("Update");
  Button btnClose = new Button("Close window");
  HelloWorldWindow win = new HelloWorldWindow();
  public Test1Window() {
    ContentPane content = new ContentPane();
    setContent(content);
    content.add(txtInput);
    //增加事件监听
   
    content.add(btnUpdate);
    content.add(btnClose);
    win.setWidth(200);
    win.setHeight(400);
  }
  //事件处理
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnUpdate) {
       //注册新窗口
      win.label.setText(txtInput.getText()); //设定里面的文字
    }
    else if (e.getSource() == btnClose) 
       //关闭窗口
      dispose();
    }
  }
}

从上面的例子可以看到:

  1. 事件响应是对按钮增加了监听器(ActionListener), 由监听器负责对应的事件响应.
  2. 新窗口的打开要取得EchoInstance, 在其中注册新窗口, 即把窗口中的控件增加到Session中.
  3. 如果你关掉新窗口, 它还会马上弹出, 除非你按主窗口的Close按钮. 说明在Session中这个窗口并没有被销毁.

 

下一代的B/S开发框架--Echo 教程(3)

HelloWorld编写Echo应用, 只需要一个Servlet和一个Instance, 剩下的就是开发页面了./************MainServlet.java************ * ...
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 16:55
  • 261

下一代的B/S开发框架--Echo 教程(5)

下一代的B/S开发框架--Echo 教程(5) 可编辑的下拉列表我们知道HTML页面上的下拉列表是不可编辑的. Echo可以让我们轻松的变相实现. 先看看这个ComboBox怎么用://下拉列表数据S...
  • steeven
  • steeven
  • 2003年03月14日 09:12
  • 1507

下一代的B/S开发框架--Echo 教程(7)

编写自己的控件羡慕EchoPoint的控件吗? 别担心, 你一样可以做. 写控件可以分两种方法: 搭积木和造积木.A: 搭积木在教程(5)中, 我们实现了可编辑的下拉菜单. 其实不过是一些已有控件的组...
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 17:41
  • 225

下一代的B/S开发框架--Echo 教程(5)

可编辑的下拉列表我们知道HTML页面上的下拉列表是不可编辑的. Echo可以让我们轻松的变相实现. 先看看这个ComboBox怎么用://下拉列表数据String[] member = new Str...
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 17:38
  • 364

下一代的B/S开发框架--Echo 教程(9)

下一代的B/S开发框架--Echo 教程(9) 优点/缺点这个话题本来放倒本教程的开头, 但是我想让各位从前面的的例子中做出自己的评价, 看看我们的结论是否一致:优点:用OO的方法开发B/S程序, 完...
  • steeven
  • steeven
  • 2003年03月25日 09:33
  • 1720

下一代的B/S开发框架--Echo 教程(1)

下一代的B/S开发框架--Echo 教程(1) 独乐乐不如同乐乐, 每当有点发现我总喜欢写下来同大家分享, 也希望得到指点和帮助. 写教程是个辛苦活, 但是这里有个小小的阴谋, 等大家咬钩了再说 :)...
  • steeven
  • steeven
  • 2003年03月18日 08:56
  • 1716

下一代的B/S开发框架--Echo 教程(6)

HTML模板JSF和Tapestry是都是基于模板的Java WEB框架, 但是在使用前要学习它们的特定语法规则. Echo本身没有提供HTML模板, EchoPoint为我们提供了模板功能, 先看看...
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 17:39
  • 252

下一代的B/S开发框架--Echo 教程(4)

下一代的B/S开发框架--Echo 教程(4) 模式窗口的实现熟悉浏览器的人都知道, 浏览器上很难实现模式窗口, 就是那种一直在最上面的子窗口并且能禁止对父窗口的操作. 在B/S编程中碰到这种问题一般...
  • steeven
  • steeven
  • 2003年03月13日 09:02
  • 1572

下一代的B/S开发框架--Echo 教程(4)

模式窗口的实现熟悉浏览器的人都知道, 浏览器上很难实现模式窗口, 就是那种一直在最上面的子窗口并且能禁止对父窗口的操作. 在B/S编程中碰到这种问题一般都会返回一个新页面, 然后用链接回到原来的页面....
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 17:36
  • 265

下一代的B/S开发框架--Echo 教程(9)

优点/缺点这个话题本来放倒本教程的开头, 但是我想让各位从前面的的例子中做出自己的评价, 看看我们的结论是否一致:优点: 用OO的方法开发B/S程序, 完全面向对象编程. 无需HTML和...
  • ShawnNee
  • ShawnNee
  • 2008年06月12日 17:45
  • 419
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:下一代的B/S开发框架--Echo 教程(3)
举报原因:
原因补充:

(最多只允许输入30个字)