不罗嗦,程序员喜欢看代码
<?xml version="1.0" encoding="UTF-8"?> <pages xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd" no-conversation-view-id="/main.xhtml" login-view-id="/home.xhtml"> <page view-id="/testJson.xhtml"> <param name="user" value="#{myDate.user}"/> </page> </pages>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>TEST</title> </head> <body> <script type="text/javascript"> function GetXmlHttpObject(){ var xmlHttp=null; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e){ // Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function testSubmit(){ xmlHttp=GetXmlHttpObject() if (xmlHttp==null){ alert ("您的浏览器不支持AJAX!"); return; } var u=document.getElementById("user"); var url="testJson.seam"; url=url+"?user="+u.value; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4){ var req=xmlHttp.responseText; document.getElementById("test").innerHTML=req; } } </script> <form action="testJson.seam"> <input id="user" type="text" name="user"/> <input type="button" value="ajax" onClick="testSubmit()"/> <input type="submit" value="submit"/> <span id="test"></span> </form> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>TEST</title> </head> <body> hello!#{myDate.user} </body> </html>
package test; import org.jboss.seam.annotations.*; import org.jboss.seam.ScopeType; @Name("myDate") @Scope(ScopeType.CONVERSATION) public class MyDate{ String user; public String getUser(){ return user; } public void setUser(String user){ this.user=user; } }
"we can reproduce the functionality of a traditional action-oriented framework like Struts or WebWork using page actions. "
"我们可以再生传统的面向动作的框架的功能,就像Struts或WebWork使用页面动作那样。"--满江红
这很有趣,它stateful,restful,ajaxful,auto param bind&valid 并且完全和html,js解耦
你可以容易的结合js,ajax框架
这里的程序没有使用页面动作,你喜欢也可以加上。
结合jboss的一堆可插拔组件,很好用,非常好用
胖子fins是个有勇气的人
如果可以的话,也可以自己修改seam和jsf源码,使它更适合这么做,不过,即使现在的jsf1.2和seam2.1这样做就很牛了。
jsf,wicket,Tapestry,GWT适合大公司开发,我们还是html好了
1 楼
theone
2008-11-02
纯AJAX驱动页面逻辑? 稍微复杂一点的应用,怕是你JS会写的很辛苦。
2 楼
afadgaeg
2008-11-02
theone 写道
纯AJAX驱动页面逻辑? 稍微复杂一点的应用,怕是你JS会写的很辛苦。
你可以用jquery嘛,我只是个示范