??xml version="1.0" encoding="utf-8" standalone="yes"?>成人午夜影视,超碰97在线免费观看,99精品欧美一区二区三区综合在线http://www.aygfsteel.com/amplifier/category/7853.htmlamplifier's java blogzh-cnFri, 02 Mar 2007 05:03:21 GMTFri, 02 Mar 2007 05:03:21 GMT60MyFaces与JFreeChart的包冲突http://www.aygfsteel.com/amplifier/archive/2007/01/23/95544.htmlamp@javaamp@javaTue, 23 Jan 2007 07:01:00 GMThttp://www.aygfsteel.com/amplifier/archive/2007/01/23/95544.htmlhttp://www.aygfsteel.com/amplifier/comments/95544.htmlhttp://www.aygfsteel.com/amplifier/archive/2007/01/23/95544.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/95544.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/95544.htmlJFreeChart的lib里有gnujaxp.jar包,d到WEB-INF/lib里之后,解析faces-configv.xml的时候就会用gnujaxp包里面的东西Q会出现java.net.MalformedURLException: no protocol的异常,google也找不到相关的例子,仔细看了一下错误输出,看到有个org.gnu.jaxp...之类的语句,才知道是q个包引L错误Q把它删掉就好了?/p>

amp@java 2007-01-23 15:01 发表评论
]]>
Eclipse中WTP的bugQcontext加蝲两次Q?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79671.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Tue, 07 Nov 2006 11:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79671.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/79671.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/79671.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/79671.html</trackback:ping><description><![CDATA[ <p>使用WTP中的run on server来调试webE序Ӟ按照默认的配|,会把该程序放在根目录Q即context?/"Q启动的时候会加蝲两次Q如果有ServletContextListener的话Q里面的东西׃q行两次Q如果修攚w|,通过Project->Property->Web Project SettingsQ把Context Root改ؓweb project名的话,q行的时候就不会把ServletContextListener加蝲两次Q不q除了正常加载指定的webE序外,q会试图加蝲一个不存在的contextQ导致抛出ClassNotFoundException异常Q不q不影响使用Q后来发现这是WTP的bugQ不q描q的好像跟我遇到的情形不太一栗?br /><a target="_blank"><font color="#663366" size="2">http://dev.eclipse.org/newslists/news.eclipse.webtools/msg09647.html</font></a><br /><a target="_blank"><font color="#663366" size="2">https://bugs.eclipse.org/bugs/show_bug.cgi?id=125364</font></a></p> <img src ="http://www.aygfsteel.com/amplifier/aggbug/79671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-11-07 19:02 <a href="http://www.aygfsteel.com/amplifier/archive/2006/11/07/79671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取HTML元素的真正位|与大小http://www.aygfsteel.com/amplifier/archive/2006/11/07/79668.htmlamp@javaamp@javaTue, 07 Nov 2006 10:50:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/11/07/79668.htmlhttp://www.aygfsteel.com/amplifier/comments/79668.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/11/07/79668.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/79668.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/79668.html使用HTML元素的style.left,style.top,style.width,style.height以及width,height属性,都不能获得元素的真正位置与大,q些属性取出来的都是原来的讄|例如<table  id="table1" width="500">Q那么通过document.getElementById("table1").width取出来的值永q都?00Q而不这个表格是否已l被撑大了;同时Q通过document.getElementById("table1").style.left获得的值是I的Q因为没有设|这个倹{?br />要取得HTML元素的真正位|与大小Q只能通过offsetLeft,offsetTop,clientWidth,clientHeight,offsetWidth,offsetHeight属性,其中offsetLeft与offsetTop分别是当前元素在父元素内的相对左坐标与相寚w坐标Q要取得l对坐标Q还需要用到offsetParent属性,改属性取得当前元素的父元素。要取得l对坐标Q就必须依次获得父元素的相对坐标Q直到父元素为空Q然后把所有相对坐标加hQ得到当前元素的l对坐标?br />最常见的是日期选择框,当点L钮时弹出日期选择框L在按钮的旁边Q这个选择框的坐标Q就是根据按钮的坐标以及按钮的offsetWidth,offsetHeight来取得的?



amp@java 2006-11-07 18:50 发表评论
]]>
Web表格打印面的生?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79533.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Tue, 07 Nov 2006 02:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79533.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/79533.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/11/07/79533.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/79533.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/79533.html</trackback:ping><description><![CDATA[ <p>要把一个长表格打印出来Q要做到正确分页Q直接用HTML生成表格是不能满求的Q?br />1、如果把整个表格攑֜一,在打印时再自动分,则有可能在某一表格行中间分,而且只能有一个表格头Q不能每一个,因ؓ你不知道会在哪里分页Q?br />2、如果按照固定的行数分页Q由于每行的高度不一P׃造成有的不能填满,有的却太满自动分了?br /><br />原来考虑q一U方法:<br />利用Javascript动态生成表|每次往表格的最后插入一行,然后查表格高度,如果高度过了一늚最大高度,则把q一行删除,新徏一个表|把这一行插入到新的表格里面Q如此@环,直到全部行插入完毕。但是,利用table的height属性、style.height属性都得不到表格的实际高度Q只有设|了height属性、style的height属性才能取得这两个|但只是设||q不是实际|Q于是就只能攑ּ了?br /><br />后来仔细查看了table的dom属性,才知道它q有clientHeight,offsetHeight{属性,q两个才是表格的真正高度Q它们之间的区别可看q里Q?br /><a >http://developer.mozilla.org/cn/docs/DOM:element.clientHeight</a><br /><a >http://developer.mozilla.org/en/docs/DOM:element.offsetHeight</a><br />更直观的可以看这里:<br /><a >http://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/measuring.asp</a><br /><img src="http://msdn.microsoft.com/workshop/graphics/dhtmlpos.gif" /><br /><br />单地_clientHeight是不包含border的高度,offsetHeight是qborder的高度。对于要打印的表|border一般只?pxQ所以用clientHeight和offsetHeight区别不大?br /><br />构徏q个面需要用到的Q?br /><br />table?a >insertRow</a>(),<a >deleteRow</a>()Ҏ(gu)Q用来给表格增加、删除一?tr)Q?br />tr?a >insertCell</a>()Ҏ(gu)Q用来给一行加入一?td)Q?br />td的innerText属性,用来l一格加入内宏V?br /><br />CSS分页要用到page-break-before:always(或page-break-after:aways)的样式,遇到使用了该样式的标{,׃在标{։面(或后面)强制分页Q于是可以在两个表格之间加一个这L分页?br />Z昄而不打印Q还要用?lt;style>标签的media属性,当设|?br /><style media="print"><br />.noprint {display:none}<br /></style><br />Ӟ用了noprint作ؓclass的标{ְ只会昄而不打印出来?br /><br />对于IEQ还可以使用WebBrowser控gQ弹出“页面设|”窗口、“打印预览”窗口、直接打印等功能。对于其他浏览器Q则只能调用window.print()函数了?br /><br />JSF生成的中文都是用&#unicode;来表C的Q其中unicode是中文字W的UNICODE~码Q通过innerText生成表格内容Ӟ必须把这些东西{换成真正的中文,否则会直接把q些W号插入到表gQ惨不忍睏Vjavascript里有个String.fromCharCode()函数可以把Unicode~码转换成字W。另外,通过innerHTML加入内容也可把这些编码正常显C出来,但需要escape XMLQ以免把内容当作HTML标签渲染?br /><br /><br /></p> <img src ="http://www.aygfsteel.com/amplifier/aggbug/79533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-11-07 10:11 <a href="http://www.aygfsteel.com/amplifier/archive/2006/11/07/79533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>止览器缓?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/10/16/75485.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Mon, 16 Oct 2006 13:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/10/16/75485.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/75485.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/10/16/75485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/75485.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/75485.html</trackback:ping><description><![CDATA[览器缓存对jsp,servlet来说都有时候是很致命的。以前用AJAX实现一个进度条Q每?U向服务器询问一ơ进度,服务器返回当前的癑ֈ比,׃个数字。开始的时候没有禁止缓存,l果q度条老是不动。我在自q?sh)脑上测试还没发现这个问题,因ؓ我在internet选项了选择了“每ơ访问此|查”,而默认选项是“自动”,其实是允许~存。禁止缓存可以在HTML中写Q也可以在http header里面写,但对于非HTML面Q就只有后面那种选择了,在servlet里可以这样写Q?br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">response.setHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Pragma</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">No-Cache</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />response.setHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Cache-Control</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">No-Cache</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />response.setDateHeader(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Expires</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);</span></div><br /> 必须三个都写上才能应付各U浏览器。似乎大写敏感Q不定Q但上面q种肯定适用于IE 5,6Q。还有Expires那个值有?1?img src ="http://www.aygfsteel.com/amplifier/aggbug/75485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-10-16 21:32 <a href="http://www.aygfsteel.com/amplifier/archive/2006/10/16/75485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WTP中Publishing failed:Resource /xxxx does not exist问题的解?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66812.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Thu, 31 Aug 2006 03:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66812.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/66812.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66812.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/66812.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/66812.html</trackback:ping><description><![CDATA[ <p>问题描述Q?br />使用WTP开发WEBE序Q需要把WEB-INF/lib下的某个jar库删除,在eclipse的项目浏览器里是删不掉的Q因为它在BuildPath里。于是就先把eclipsexQ然后通过资源理器找到那个project的文件夹Q把文g删除。重新打开eclipseQ运行该webE序QRun on serverQ,会出现Publishing failed错误Q详l信息ؓQResource /xxxx does not existQ其?xxxx是那个project文g夏V怎么可能呢,那个文g夹好好地攑֜那里Q居然说does not existQ?br /><br />原因Q?br />׃在外面把某个jar删掉Qeclipseq不知道Q发布webE序的时候以为那个jarq在Q于是就把它发布出去Q但那个文g不存在,所以就报错。只是这个错报得太离谱,一个文件不见了p整个project不存在,直是误导观众Q?br /><br />解决Ҏ(gu)Q?br />删除jar的时候不能直接在eclipse里删Q更不能在外面删。要先把整个Web Library从BuildPath里去掉,q样lib里的所有jar都不在BuildPath里了Q然后在eclipse的项目浏览器(Navigator view)里把jar删除Q然后再dWeb Library?br /></p> <img src ="http://www.aygfsteel.com/amplifier/aggbug/66812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-08-31 11:28 <a href="http://www.aygfsteel.com/amplifier/archive/2006/08/31/66812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat的JNI库加载问题解军_?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66806.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Thu, 31 Aug 2006 03:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66806.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/66806.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/08/31/66806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/66806.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/66806.html</trackback:ping><description><![CDATA[Tomcat的Release Notes 里有q么一D话Q?br />=======================<br />JNI Based Applications:<br />=======================<br />Applications that require native libraries must ensure that the libraries have<br />been loaded prior to use.  Typically, this is done with a call like:<br /><br />  static {<br />    System.loadLibrary("path-to-library-file");<br />  }<br /><br />in some class.  However, the application must also ensure that the library is<br />not loaded more than once.  If the above code were placed in a class inside<br />the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the<br />application were reloaded, the loadLibrary() call would be attempted a second<br />time.<br /><br />To avoid this problem, place classes that load native libraries outside of the<br />web application, and ensure that the loadLibrary() call is executed only once<br />during the lifetime of a particular JVM.<br /><br />单地说就是JNI库的加蝲在启动Tomcat的JVM中只能进行一ơ,如果两次执行System.loadLibrary("path-to-library-file");会D错误QErrorQ不是ExceptionQ:<br /><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial">java.lang.UnsatisfiedLinkError: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial">Native Library xxx.dll already loaded in another classloader</span>?br />可是q段话ƈ没有l出具体的解军_法。我要用的一个NTd验证的JAAS模块到了这个问题:我把包含q个语句的库攑֜了某个web应用E序的lib目录下,l果当修改了某个web配置文gDq个E序的context reloadӞJAAS模块׃能用,因ؓ它又重新加蝲JNI库导致错误。只有重新启动整个tomcat才能恢复正常Q十分麻烦?br />找了好久Q终于在一个大侠的文章(<a >http://cuiyingfeng.blog.ccidnet.com/blog/ccid/do_showone/tid_48232.html</a>)中找C解决Ҏ(gu)Q?br />1、加载JNI库的包放在Tomcat的common/lib目录下,而不要放在各context的lib目录下;<br />2、每ơ加载JNI库之前检查是否已l加载过?br />׃加蝲语句不是我能控制的,所以第二种Ҏ(gu)不能实现Q于是我通过W一U方法把q个问题解决了?/p><img src ="http://www.aygfsteel.com/amplifier/aggbug/66806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-08-31 11:13 <a href="http://www.aygfsteel.com/amplifier/archive/2006/08/31/66806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bea Workshop Studio 3.1与MyEclipse 4.1.1冲突http://www.aygfsteel.com/amplifier/archive/2006/06/15/52956.htmlamp@javaamp@javaThu, 15 Jun 2006 03:35:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/06/15/52956.htmlhttp://www.aygfsteel.com/amplifier/comments/52956.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/06/15/52956.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/52956.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/52956.html

amp@java 2006-06-15 11:35 发表评论
]]>
在Backing Bean中控制dataScroller实现页http://www.aygfsteel.com/amplifier/archive/2006/06/15/52949.htmlamp@javaamp@javaThu, 15 Jun 2006 03:12:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/06/15/52949.htmlhttp://www.aygfsteel.com/amplifier/comments/52949.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/06/15/52949.html#Feedback2http://www.aygfsteel.com/amplifier/comments/commentRss/52949.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/52949.html如果在表g增加了操作控Ӟ点击后会对表的行C生媄响时Q就需要在backing bean的action method里对表格q行页。例如,表格的每一行有个“删除”按钮,在该按钮的监听函数里Ҏ(gu)据库q行删除操作后需要更新表格内容,q时候如果删除的正好是最后一늚最后一条记录,则更新表格的dataModel后,表格仍停留在最后一,但没有显CZQ何记录,需要手动翻到前一|能看到其他记录,行ؓ十分怪异。因此需要在监听函数里判断当前删除的时候ؓ最后一늚最后一条记录,如果是的话就通过E序d前一c?br />具体实现如下Q?br />在表格所在页面的backing bean里增加一个HtmlDataScroller成员变量Qƈ讄它的setter和getterQ再通过面上的dataScroller控g中的binding属性把该控件与成员变量联系hQ然后在按钮监听处理中对该控件进行操作。要把表格定位在某一,需要用到HtmlDataScroller的getUIData().setFirst()Ҏ(gu)?br />
public class PageBean{
  
private HtmlDataScroller scroller = null;
  
public HtmlDataScroller getScroller(){
    
return scroller;
  }

  
public void setScroller(HtmlDataScroller scroller){
    
this.scroller = scroller;
  }

  
public String buttonListionMethod(){
    
    scroller.getUIData().setFirst(
0);
    
  }


amp@java 2006-06-15 11:12 发表评论
]]>
JSF中binding的用??http://www.aygfsteel.com/amplifier/archive/2006/06/14/52645.htmlamp@javaamp@javaWed, 14 Jun 2006 01:37:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/06/14/52645.htmlhttp://www.aygfsteel.com/amplifier/comments/52645.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/06/14/52645.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/52645.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/52645.htmlfrom http://forum.java.sun.com/thread.jspa?threadID=628910&messageID=3618808
hello,

first time i want to excuse my english language ( i love spanish :P );

i pass a whole morning to found the solution: How to go to page 1 in a DataScroller ( tomahawk component ) when we execute a filter ?H

we need to binding the component instance in the backing bean ( manage bean )

JSP PAGE :
<t:dataScroller .... .... binding="MB.scroll" />

MANAGE BEAN:
private HTMLDataScroller scroll = null;

....
....
getScroll....
setScroll...

ok, now we have the same instance of an object in "front" and "back".
in my case, when a execute a filter i call the method executeFilter()

public void executeFilter(){
...
...
// this is the function for returning to page 1 in a dataScroller
scroll.getUIDate.setFirst(0)
...
...
}

I Hope that can help every JSF crazy programmer :P

bye...

amp@java 2006-06-14 09:37 发表评论
]]>
JSF带来了什么?http://www.aygfsteel.com/amplifier/archive/2006/04/08/39936.htmlamp@javaamp@javaFri, 07 Apr 2006 17:08:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/04/08/39936.htmlhttp://www.aygfsteel.com/amplifier/comments/39936.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/04/08/39936.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/39936.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/39936.html1、获取或昄表单数据时用相同的EL卛_QJSF之前的EL只能get不能setQ?br />2、MyFaces实现里面有很多很“炫”的lgQ例如下拉菜单,树型控gQ日期选择控g{等Q用极其方ѝ?br />于是在一个小目中用JSF开发,用着发现其实这个东西也带来了很多比以前更麻烦的地方Q就拿很常见的数据库操作——查询、修攏V插入、删除来说明使用JSF来实现有什么麻烦:
1、查询。对于小数据量,用一个dataTable׃么都搞定了。可是大数据量分就比较ȝ了,因ؓdataTable的分|把所有数据都取出来然后再一页昄Q而大数据量下一般是要看哪一就取哪一c网上有个通用的分存储过E,只要把一pd参数Q页码,排序依据Q每大等Q传l它Q就能获得某一늚数据。如果直接通过URL来传递那些参敎ͼ服务器根据参数来调用存储q程Q是很方便的事情。可是JSF却不通过URL来传递参CQ整个页面处理的q程也比较复杂,没有以前那样直观。有人改了一下dataModel的实现方式,使它每次只取一늚数据Q效果是辑ֈ了,但要跛_某一,却只能点链接Q不能通过输入URL来到达了Q也是不能把某一|加到收藏多w了)?br />
q两天做了一些试验,在jsf里还是可以通过URL传递参数的Q在Backing Bean里可以通过ValueBinding的getValue取得URL参数Q然后根据参数来从数据库中取得相应的内容Q生成某个对象的beanQ再在页面上昄出来。不q这样一来,gpservlet差不多了?br />如果可以通过配置来设定表单提交是get方式q是post方式好了。可是目前一律只能postQ这样造成的后果除了不能收藏,不能hQ会提示是否重新提交数据Q之外,q会使浏览器的后退功能失效?/span>

2、修攏V在datatable中把数据昄出来后,可以每一行加一个commanButtonQ在它的action method中调用dataModel的getRowData()Ҏ(gu)来得到该行的数据Q把数据保存在一个request范围的bean里面Q再转向到另一个页面通过可编辑表单来昄该bean的内容,在那里就可以修改、提交了。由于是使用了forward方式转向Q所以url昄的页面还是数据显C的那个面Q只要一hQ就又回到数据显C那一而不是修攚w一了Q如果不想修改,按一下浏览器的后退按钮Q虽然回C数据昄的那一,但上面的commandButton已经失效Q例如点MҎ(gu)钮,没有M反应Q必L那一刷C下再Ҏ(gu)有效?br />
Z解决q个问题Q我采用了URL传递参数的Ҏ(gu)。通过在URL中指定ID来说明要修改的是哪个对象Q在修改面的backing bean的构造函CQ读取URL参数来获得IDQ然后通过查询数据库得到该对象的其他内容,再显C在面上。这样就可以hQ可以后退?/span>

3、新增。新增跟修改可以用同一个页面来昄Q只是commandButton对应不同的action methodQ例如“修改”按钮对应的是updateQ“新增”按钮对应的是createQ在两个method里分别用数据库的update语句和insert语句卛_。新增的时候是没有ID的,修改的时候则已经有了ID?br />
4、删除。在昄数据的dataTable里,每行可以d一个commandButtonQ在它的action method里,d该行数据Q得到ID后执行SQL的DELETE语句卛_Q比较简单?br />
无论是做什么,都离不开三个东西Q页面,配置文gQBacking Bean。页面是表现层的东西Q负责把面上的东西与Backing Bean联系h。配|文件则指定在页面上使用的Backing Bean的名字、类、用范_q有D规则(Navigation Rules)。Backing Bean是E序的逻辑部分了。即使实现最单的功能Q例如显C某个变量的|q三个东襉K是必不可的?br />修改面的时候,虽然不用重启服务器,但必d新的session里才能看出效果来Q最单的办法是把浏览器xQ打开一个新的,查看l果。修改了配置文g和backing bean 必重启服务器了。所以调试JSF是很ȝ的?img src ="http://www.aygfsteel.com/amplifier/aggbug/39936.html" width = "1" height = "1" />

amp@java 2006-04-08 01:08 发表评论
]]>
在JSF面中引用Backing BeanӞ一定要注意该Bean在faces-config.xml中已定义http://www.aygfsteel.com/amplifier/archive/2006/04/08/39934.htmlamp@javaamp@javaFri, 07 Apr 2006 16:43:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/04/08/39934.htmlhttp://www.aygfsteel.com/amplifier/comments/39934.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/04/08/39934.html#Feedback0http://www.aygfsteel.com/amplifier/comments/commentRss/39934.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/39934.html如果在开发过E中发现有奇怪的问题Q首先要查在面中引用的Backing Bean是否已经在配|文件中定义Q?img src ="http://www.aygfsteel.com/amplifier/aggbug/39934.html" width = "1" height = "1" />

amp@java 2006-04-08 00:43 发表评论
]]>
[译]使用AJAX和JavaServerFaces实现更好的文件上?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/03/19/36100.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Sun, 19 Mar 2006 13:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/03/19/36100.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/36100.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/03/19/36100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/36100.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/36100.html</trackback:ping><description><![CDATA[ <p>    英文原文链接Q?a >http://today.java.net/pub/a/today/2006/02/09/file-uploads-with-ajax-and-jsf.html</a><br /><br />    Translated by amplifier<br /><br />    Z览器的文g上传Q特别是那些通过调用HTML标签<input type="file">来实现的文g上传QL有很大的~陷。大安知道Q上传一个大?0MB的文件会D非常p糕的用户体验。当用户提交表单上传文g后,览器在把文件上传到服务器的q程中就会表现得像失d应一栗当q个q程在后台进行中的时候,很多不耐烦的用户就会以为服务器挂掉了,于是尝试重新提交表单,q样一来就更糟p了?/p> <p>    Z使文件上传的用户界面更友好,很多|站采用昄不确定的q度动画Q例如一个翻转的图标Q来提示用户已提交文件。虽然这U技术会让用戯得好受一点,但它只提供了极少与文件上传状态相关的信息。另外一U尝试是通过实现一个applet来把文g上传到FTP服务器上Q这U方法的~点是它只对有java的浏览器可用?/p> <p>   在本文,我们会使用一U新的方法,通过实现一个用AJAX技术的lg来达到目的,该组件不仅仅把文件上传到服务器,q“实时”监控文件上传的实际q度。该lg的四个状态如?Q?Q?Q?所C:<br /></p> <p> <img height="90" alt="Stage 1: Selecting the file upload" src="http://today.java.net/images/2006/02/ajax-jsf-figure1.gif" width="555" /> <br /> <i>?. 阶段1Q选择要上传的文g<br /></i> <img height="80" alt="Stage 2: Uploading the file to the server" src="http://today.java.net/images/2006/02/ajax-jsf-figure2.gif" width="557" /> <br /> <i>?.阶段2Q上传中</i> </p> <p> <img height="104" alt="Stage 3: Uploaded completed." src="http://today.java.net/images/2006/02/ajax-jsf-figure3.gif" width="551" /> <br /> <i>?.阶段3Q上传完?/i> </p> <p> <img height="172" alt="File Upload Summary" src="http://today.java.net/images/2006/02/ajax-jsf-figure4.gif" width="552" /> <br /> <i>?.文g上传概要<br /></i> </p> <p>Q未完待l)<br /> </p> <img src ="http://www.aygfsteel.com/amplifier/aggbug/36100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-03-19 21:05 <a href="http://www.aygfsteel.com/amplifier/archive/2006/03/19/36100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用未定义的Managed BeanD错误q且无提C?/title><link>http://www.aygfsteel.com/amplifier/archive/2006/03/18/35929.html</link><dc:creator>amp@java</dc:creator><author>amp@java</author><pubDate>Sat, 18 Mar 2006 05:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/amplifier/archive/2006/03/18/35929.html</guid><wfw:comment>http://www.aygfsteel.com/amplifier/comments/35929.html</wfw:comment><comments>http://www.aygfsteel.com/amplifier/archive/2006/03/18/35929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/amplifier/comments/commentRss/35929.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/amplifier/services/trackbacks/35929.html</trackback:ping><description><![CDATA[ <p>在faces-config.xml里,把某个Bean的名字写成UncheckedRecordQ在JSP面里引用时却错误的使用了名字UncheckRecord来试囑ּ用这个BeanQ结果是达不到预期的效果Qƈ且没有Q何出错提C,调试了好久才发现q个问题?br /><br />在JSP面里通过EL引用的Managed Bean的名字ƈ没有l过查,如果引用了某个Bean的某个属性,而该属性ƈ不存在时Q才会有出错提示?/p> <img src ="http://www.aygfsteel.com/amplifier/aggbug/35929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/amplifier/" target="_blank">amp@java</a> 2006-03-18 13:50 <a href="http://www.aygfsteel.com/amplifier/archive/2006/03/18/35929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试用 Sun Java Studio Creator 2 http://www.aygfsteel.com/amplifier/archive/2006/02/25/32405.htmlamp@javaamp@javaSat, 25 Feb 2006 07:56:00 GMThttp://www.aygfsteel.com/amplifier/archive/2006/02/25/32405.htmlhttp://www.aygfsteel.com/amplifier/comments/32405.htmlhttp://www.aygfsteel.com/amplifier/archive/2006/02/25/32405.html#Feedback3http://www.aygfsteel.com/amplifier/comments/commentRss/32405.htmlhttp://www.aygfsteel.com/amplifier/services/trackbacks/32405.html    Sun的Java Studio Creator 2对SDN用户免费提供Q听说是当前最好的JSF IDE了?BR>
    官方的安装说明对g的要求是1GHz以上的CPUQ?GB的内存。我的电(sh)脑只?12MB内存QCPU倒是?.8GHz。不知道能否畅q行?BR>    下蝲了一个多语言版本回来Q装上后是全中文的界面,q帮助都是中文?BR>    整个IDE真的做得很专业,是所见即所得、拖放方式的设计Q跟MyEclipse那种假的可视化编辑差得远了。Sun个IDE专门开发了很多JSFlgQ在帮助中甚臛_议开发者不要用标准的JSFlgQ因为很隄Q而且它们都有替代的组件可用。那些非标准界面lg默认是ui作前~的,拖放到页面上都是用了l对定位Qdiv ?position:absolute 属性)Q就跟设计Windows桌面E序一Pq也是Sun推广JSF的本意。与标准lg不一P所有的uilg都有一定的风格Q看h很协调。当要用到数据表Ӟ可以Ҏ(gu)一列设|数据源Q对应着数据库的某个表的某个列,q些都是可以可视化操作的Q数据库的连接用JNDIQ要使用某个数据源,必须首先d它的JNDI名字?BR>    该IDE集成了Sun的应用服务器Q按照帮助的说明Q要调试一个ProjectQ只要选择菜单中的“运行”就可以了,但我在测试过E中却发现默认的那个应用服务器根本就没有配置好,所以运行不了,自己配置的时候又p|了,所以只能把整个工程打包为warQ再部v到Tomcat里调试。在Tomcat里还必须手动dJSTL的两个包jstl.jar和standard.jar。由于是Sun自己的东西,所以在应用服务器的部v支持上不如MyEclipseq泛QJava Studio Creator 2只支持直接部|到Sun的应用服务器Q部|到其他服务器必d打包再部|Ԍ且不支持调试。又因ؓ默认的应用服务器没有讄好,所以我到目前ؓ止还不知道怎么调试?/P>

amp@java 2006-02-25 15:56 发表评论
]]>
վ֩ģ壺 ɽ| ƽ| ƴ| ɳ| | | ʲ| | ƽ| | Ĭ| | Զ| | | ˶| | | | ˮ| | | Ƽ| | հ| Ͷ| ̨| | | ɽ| | ˮ| ˮ| ̨| | | | | ½| | |