Chinaunix首页 | 论坛 | 博客
  • 博客访问: 416991
  • 博文数量: 48
  • 博客积分: 1032
  • 博客等级: 上士
  • 技术积分: 1256
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-19 13:24
文章分类

全部博文(48)

文章存档

2014年(3)

2013年(23)

2012年(22)

分类: 系统运维

2012-12-11 16:20:33

传统架构和ejs架构对应表单数据提交之后处理方式不同:
   传统方式:表单数据传递到web应用程序的环境变量里面。
   ejs架构:用params[]参数数组替换了环境变量。将表单数据转换成了一个嵌套集合。
方式调用很简单,只是在提炼官方教程比较难。
举个例子说明调用方式:
程序功能:获取用户提交来的任意一个表单数据。
客户端(test.html):

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
  2. <html xmlns="">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>Dojo</title>
  6. </head>
  7. <body>
  8. <h2>Custem Entry Form </h2>
  9. <form method="GET" action="gethint.ejs">
  10. <label for="firstname">First/Last Name:</label><br>
  11. <input type="text" id="firstname" name="firstname" value="Tom" />
  12. <input type="text" id="lastname" name="lastname" value="green"/>
  13. <br><label for="usre name">User Name:</label></br>
  14. <input type="text" id="usrename" name="usrename" size="20" />
  15. <br><label for="email">Email:</label></br>
  16. <input type="text" id="email" name="email" size="50" />
  17. <br><label for="address">Address:</label></br>
  18. <input type="text" id="address" name="address" size="50" />
  19. <br><label for="state">State:</label></br>
  20. <select name="state">
  21.     <option value="AL">Alabama</option>
  22.     <option value="AK">Alaska</option>
  23.     <option value="AS">American</option>
  24.     <option value="AZ">Arizona</option>
  25. </select> 
  26. <br><label for="city">City:</label></br>
  27. <input id="city" name="city" />
  28. <br><label for="zipcode">Zip Code:</label></br>
  29. <input id="zipcode" name="zipcode" size="10" />
  30. <br><label for="serverdate">Server Date:</label></br>
  31. <input id="severcate" name="serverdate" size="10" />
  32. <br><label for="comments">Comments:</label></br>
  33. <textarea id="comments" name="comments" row="3" cols="35" ></textarea>
  34. <br><input type="submit" value="submit" />
  35. <input type="reset" value="cansel" />
  36. </form>
  37. </body>
  38. </html>
服务器端(test.ejs):

  1. <html>
  2. <body>
  3. <%
  4.     if(request.method == "GET"){//判断提交方式
  5.         write("good");
  6.         if (params.state != null)//取得下拉列表框的值,判断是否为空;
  7.         {
  8.         write("yes");
  9.         write("");
  10.         write(params.state);
  11.         }
  12.         else{
  13.         write("no");
  14.         }
  15.     }
  16.     else { 
  17.     write("HAH");
  18.     }
  19. %>
  20. </body>
  21. </html>
将服务器端代码编译:ajsweb test.ejs
做到这一步只是完成了类似cgi的功能没有达到ejs真正的强大。还有待进一步的提升。

阅读(3007) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~