- 浏览: 1209009 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (353)
- java基础 (40)
- tapestry (16)
- gwt (14)
- ajax (7)
- linux (8)
- ubuntu (18)
- eclipse (6)
- dojo (2)
- javascript (7)
- maven (4)
- 日常生活 (29)
- web2.0 (2)
- jsonrpc (1)
- compass (1)
- lucene (0)
- spring (10)
- cluster (3)
- 数据结构 (2)
- sqlserver (1)
- tomcat (2)
- swing (1)
- servlet (1)
- hibernate (1)
- firefox (1)
- Java-Puzzlers (1)
- Wicket (2)
- mysql (10)
- windows (5)
- Webwork (1)
- struts2 (1)
- Seam (2)
- jboss (1)
- idea (6)
- 分布计算 (3)
- Python-Django (7)
- Hadoop (1)
- 工具 (3)
- Tokyo Tyrant (2)
- Comet (1)
- android (115)
- 音乐 (6)
- cxf (1)
- mqtt (1)
最新评论
-
hesai_vip:
学习了,感谢
gradlew wrapper使用下载到本地的gradle.zip文件安装。 -
imknown:
姚瑶大坏蛋 写道我也遇到了这个,用你这个方法,导致下拉刷新不起 ...
解决android-Ultra-Pull-To-Refresh下拉刷新组件中嵌套ViewPager的一个bug -
姚瑶大坏蛋:
我也遇到了这个,用你这个方法,导致下拉刷新不起作用了,你遇到过 ...
解决android-Ultra-Pull-To-Refresh下拉刷新组件中嵌套ViewPager的一个bug -
寐语者:
LeaderElection(String zookeeper ...
使用Zookeeper来为你的程序加上Leader Election的功能。 -
fyc0109:
博主, 安装了一部分还是报这个错误!FAILURE: Buil ...
gradlew wrapper使用下载到本地的gradle.zip文件安装。
现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 而且没有像T4一样有许多的文档。 和例子(Workbench, Vlib)。 所以我会把在这个开发中遇到的一些问题记录下来。
tapestry5.0.5现在默认支持UTF-8编码。 但是发现在form提交数据后。 数据变成了乱码。
解决方案是增加一个Filter。
然后contribute给RequestHandler。
以上代码都是放在AppModule.java中。。
参考:http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding
如果是get方式提交,应该设置server.xml中RUIEncoding="UTF-8"
都清除了,也换成了jetty5.1.14. 问题依旧,绝望了:(
很有可能你的mysql数据库不是用的utf-8.
你可以调试下 在你onSuccess里面看看 提交后的java class的数据是不是乱码。
都清除了,也换成了jetty5.1.14. 问题依旧,绝望了:(
.java, .html采用UTF-8
数据库utf-8
环境: WindowsXP + mysql5.0.18 + jetty5.1.12
乱码依旧:(
jetty5.1.14. mysql5. 在ubuntu 和windows xp下就没问题。。 呵呵 RP有问题。
.java, .html采用UTF-8
数据库utf-8
环境: WindowsXP + mysql5.0.18 + jetty5.1.12
乱码依旧:(
tapestry5.0.5现在默认支持UTF-8编码。 但是发现在form提交数据后。 数据变成了乱码。
解决方案是增加一个Filter。
public RequestFilter buildUtf8Filter( @InjectService("RequestGlobals") final RequestGlobals requestGlobals) { return new RequestFilter() { public boolean service(Request request, Response response, RequestHandler handler) throws IOException { requestGlobals.getHTTPServletRequest().setCharacterEncoding("UTF-8"); return handler.service(request, response); } }; }
然后contribute给RequestHandler。
public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, @InjectService("TimingFilter") final RequestFilter timingFilter, @InjectService("Utf8Filter") final RequestFilter utf8Filter) { configuration.add("Utf8Filter", utf8Filter); // handle UTF-8 configuration.add("Timing", timingFilter); }
以上代码都是放在AppModule.java中。。
参考:http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding
评论
29 楼
dengyin2000
2007-12-28
谁会用get去穿中文内容。 一般get都是用来传ID的。
28 楼
liyong_2003_cn
2007-12-28
iorigod123 写道
小弟也碰到过这种问题,有upload组件就会提交成乱码,小弟的解决方法有点笨,就是搞个转换,居然可以成功转换,代码如下:
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
}
象这种转换是最保险的,用filter的情况,对post提交是有效的,但是对get提交是无效的,这个跟post和get提交的机制有关系。以前项目遇到过这个问题,现在基本上都采用转换了,不用filter了,效率没仔细比较过,估计差不太多。
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
}
如果是get方式提交,应该设置server.xml中RUIEncoding="UTF-8"
27 楼
iorigod123
2007-12-28
小弟也碰到过这种问题,有upload组件就会提交成乱码,小弟的解决方法有点笨,就是搞个转换,居然可以成功转换,代码如下:
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
}
public static String getUTF8(String temp){
try{
return new String(temp.getBytes("iso-8859-1"),"utf-8");
}catch(Exception e){
return "";
}
}
26 楼
kris_xu
2007-09-05
如果是get方式提交,应该设置server.xml中RUIEncoding="UTF-8"
25 楼
kris_xu
2007-09-05
和form的提交方式有关吗?get?post?
24 楼
xo_tobacoo
2007-09-05
要解决乱码,首先要了解你的环境中那些位置涉及字符编码:
jsp页面要设置
开发工具要设置
连接数据库要设置
java包
最好的办法是使用楼主使用的方案,过滤器
在tomcat的示例里有个过滤器,拷贝过去,改下就可以了
jsp页面要设置
开发工具要设置
连接数据库要设置
java包
最好的办法是使用楼主使用的方案,过滤器
在tomcat的示例里有个过滤器,拷贝过去,改下就可以了
23 楼
match927
2007-09-05
这个文件AppModule.java在那里?谢谢
22 楼
javersion
2007-08-28
你的表单提交方式是用的post还是get,如果是get,就会发生乱码!
21 楼
koda
2007-08-28
先在maillist上散一下:)
20 楼
Linuxboy
2007-08-28
将这个问题提交到jira吧
19 楼
koda
2007-08-28
我终于找到了问题发生的原因了!!!但是没有解决方案
真正的问题是:如果form里包含有上传文件的field,则其他textfield提交的中文乱码;或者,如果显式地在<form>标签中加入属性 enctype="multipart/form-data"则提交的textfield中文值乱码。
真正的问题是:如果form里包含有上传文件的field,则其他textfield提交的中文乱码;或者,如果显式地在<form>标签中加入属性 enctype="multipart/form-data"则提交的textfield中文值乱码。
18 楼
dengyin2000
2007-08-24
我贴下我的吧。。 跟你的也差不多。。<br/>
<br/>
<br/>
<div class='code_title'>java 代码</div>
<div class='dp-highlighter'>
<div class='bar'> </div>
<ol class='dp-j' start='1'>
<li class='alt'><span><span class='keyword'>package</span><span> com.javaeye.dengyin2000.gtts.services; </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span><span class='keyword'>import</span><span> java.io.IOException; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> java.math.BigDecimal; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.commons.logging.Log; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.Translator; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.MappedConfiguration; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.OrderedConfiguration; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.ServiceBinder; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.annotations.InjectService; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.Request; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestFilter; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestGlobals; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestHandler; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.Response; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='keyword'>import</span><span> com.javaeye.dengyin2000.gtts.tapestry.BigDecimalTranslator; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='comment'>/**</span> </span></li>
<li class='alt'><span><span class='comment'> * This module is automatically included as part of the Tapestry IoC Registry, it's a good place to</span> </span></li>
<li class=''><span><span class='comment'> * configure and extend Tapestry, or to place your own service definitions.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span><span class='keyword'>public</span><span> </span><span class='keyword'>class</span><span> AppModule </span></span></li>
<li class='alt'><span>{ </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> bind(ServiceBinder binder) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// binder.bind(MyServiceInterface.class, MyServiceImpl.class);</span><span> </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='comment'>// Make bind() calls on the binder object to define most IoC services.</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// Use service builder methods (example below) when the implementation</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// is provided inline, or requires more initialization than simply</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// invoking the constructor. </span><span> </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeApplicationDefaults( </span></span></li>
<li class=''><span> MappedConfiguration<String, String> configuration) </span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// Contributions to ApplicationDefaults will override any contributions to</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// FactoryDefaults (with the same key). Here we're restricting the supported</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// locales to just "en" (English). As you add localised message catalogs and other assets,</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// you can extend this list of locales (it's a comma seperated series of locale names;</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// the first locale name is the default when there's no reasonable match).</span><span> </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> configuration.add(<span class='string'>"tapestry.supported-locales"</span><span>, </span><span class='string'>"en"</span><span>); </span></span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='comment'>/**</span> </span></li>
<li class='alt'><span><span class='comment'> * This is a service definition, the service will be named "TimingFilter". The interface,</span> </span></li>
<li class=''><span><span class='comment'> * RequestFilter, is used within the RequestHandler service pipeline, which is built from the</span> </span></li>
<li class='alt'><span><span class='comment'> * RequestHandler service configuration. Tapestry IoC is responsible for passing in an</span> </span></li>
<li class=''><span><span class='comment'> * appropriate Log instance. Requests for static resources are handled at a higher level, so</span> </span></li>
<li class='alt'><span><span class='comment'> * this filter will only be invoked for Tapestry related requests.</span> </span></li>
<li class=''><span><span class='comment'> * </span> </span></li>
<li class='alt'><span><span class='comment'> * <p></span> </span></li>
<li class=''><span><span class='comment'> * Service builder methods are useful when the implementation is inline as an inner class</span> </span></li>
<li class='alt'><span><span class='comment'> * (as here) or require some other kind of special initialization. In most cases,</span> </span></li>
<li class=''><span><span class='comment'> * use the static bind() method instead. </span> </span></li>
<li class='alt'><span><span class='comment'> * </span> </span></li>
<li class=''><span><span class='comment'> * <p></span> </span></li>
<li class='alt'><span><span class='comment'> * If this method was named "build", then the service id would be taken from the </span> </span></li>
<li class=''><span><span class='comment'> * service interface and would be "RequestFilter". Since Tapestry already defines</span> </span></li>
<li class='alt'><span><span class='comment'> * a service named "RequestFilter" we use an explicit service id that we can reference</span> </span></li>
<li class=''><span><span class='comment'> * inside the contribution method.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span> <span class='keyword'>public</span><span> RequestFilter buildTimingFilter(</span><span class='keyword'>final</span><span> Log log) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> RequestFilter() </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>boolean</span><span> service(Request request, Response response, RequestHandler handler) </span></span></li>
<li class='alt'><span> <span class='keyword'>throws</span><span> IOException </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='keyword'>long</span><span> startTime = System.currentTimeMillis(); </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>try</span><span> </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='comment'>// The reponsibility of a filter is to invoke the corresponding method</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// in the handler. When you chain multiple filters together, each filter</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// received a handler that is a bridge to the next filter.</span><span> </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>return</span><span> handler.service(request, response); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> <span class='keyword'>finally</span><span> </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='keyword'>long</span><span> elapsed = System.currentTimeMillis() - startTime; </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> log.info(String.format(<span class='string'>"Request time: %d ms"</span><span>, elapsed)); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> }; </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>public</span><span> RequestFilter buildUtf8Filter( </span></span></li>
<li class=''><span> <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"RequestGlobals"</span><span>) </span><span class='keyword'>final</span><span> RequestGlobals requestGlobals) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> RequestFilter() </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>boolean</span><span> service(Request request, Response response, RequestHandler handler) </span></span></li>
<li class='alt'><span> <span class='keyword'>throws</span><span> IOException </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> requestGlobals.getHTTPServletRequest().setCharacterEncoding(<span class='string'>"UTF-8"</span><span>); </span></span></li>
<li class=''><span> <span class='keyword'>return</span><span> handler.service(request, response); </span></span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> }; </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='comment'>/**</span> </span></li>
<li class=''><span><span class='comment'> * This is a contribution to the RequestHandler service configuration. This is how we extend</span> </span></li>
<li class='alt'><span><span class='comment'> * Tapestry using the timing filter. A common use for this kind of filter is transaction</span> </span></li>
<li class=''><span><span class='comment'> * management or security.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>void</span><span> contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, </span></span></li>
<li class='alt'><span> <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"TimingFilter"</span><span>) </span></span></li>
<li class=''><span> RequestFilter filter, <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"Utf8Filter"</span><span>) RequestFilter utf8Filter) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// Each contribution to an ordered configuration has a name, When necessary, you may</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// set constraints to precisely control the invocation order of the contributed filter</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// within the pipeline.</span><span> </span></span></li>
<li class='alt'><span> configuration.add(<span class='string'>"Utf8Filter"</span><span>, utf8Filter); </span></span></li>
<li class=''><span> configuration.add(<span class='string'>"Timing"</span><span>, filter); </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeTranslatorDefaultSource( </span></span></li>
<li class='alt'><span> MappedConfiguration<Class, Translator> configuration) </span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> configuration.add(BigDecimal.<span class='keyword'>class</span><span>, </span><span class='keyword'>new</span><span> BigDecimalTranslator()); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeTranslatorSource( </span></span></li>
<li class='alt'><span> MappedConfiguration<String, Translator> configuration) </span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> configuration.add(<span class='string'>"bigdecimal"</span><span>, </span><span class='keyword'>new</span><span> BigDecimalTranslator()); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
<br/>
<br/>
<div class='code_title'>java 代码</div>
<div class='dp-highlighter'>
<div class='bar'> </div>
<ol class='dp-j' start='1'>
<li class='alt'><span><span class='keyword'>package</span><span> com.javaeye.dengyin2000.gtts.services; </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span><span class='keyword'>import</span><span> java.io.IOException; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> java.math.BigDecimal; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.commons.logging.Log; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.Translator; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.MappedConfiguration; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.OrderedConfiguration; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.ServiceBinder; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.ioc.annotations.InjectService; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.Request; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestFilter; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestGlobals; </span></span></li>
<li class='alt'><span><span class='keyword'>import</span><span> org.apache.tapestry.services.RequestHandler; </span></span></li>
<li class=''><span><span class='keyword'>import</span><span> org.apache.tapestry.services.Response; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='keyword'>import</span><span> com.javaeye.dengyin2000.gtts.tapestry.BigDecimalTranslator; </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span><span class='comment'>/**</span> </span></li>
<li class='alt'><span><span class='comment'> * This module is automatically included as part of the Tapestry IoC Registry, it's a good place to</span> </span></li>
<li class=''><span><span class='comment'> * configure and extend Tapestry, or to place your own service definitions.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span><span class='keyword'>public</span><span> </span><span class='keyword'>class</span><span> AppModule </span></span></li>
<li class='alt'><span>{ </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> bind(ServiceBinder binder) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// binder.bind(MyServiceInterface.class, MyServiceImpl.class);</span><span> </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='comment'>// Make bind() calls on the binder object to define most IoC services.</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// Use service builder methods (example below) when the implementation</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// is provided inline, or requires more initialization than simply</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// invoking the constructor. </span><span> </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeApplicationDefaults( </span></span></li>
<li class=''><span> MappedConfiguration<String, String> configuration) </span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// Contributions to ApplicationDefaults will override any contributions to</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// FactoryDefaults (with the same key). Here we're restricting the supported</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// locales to just "en" (English). As you add localised message catalogs and other assets,</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// you can extend this list of locales (it's a comma seperated series of locale names;</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// the first locale name is the default when there's no reasonable match).</span><span> </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> configuration.add(<span class='string'>"tapestry.supported-locales"</span><span>, </span><span class='string'>"en"</span><span>); </span></span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='comment'>/**</span> </span></li>
<li class='alt'><span><span class='comment'> * This is a service definition, the service will be named "TimingFilter". The interface,</span> </span></li>
<li class=''><span><span class='comment'> * RequestFilter, is used within the RequestHandler service pipeline, which is built from the</span> </span></li>
<li class='alt'><span><span class='comment'> * RequestHandler service configuration. Tapestry IoC is responsible for passing in an</span> </span></li>
<li class=''><span><span class='comment'> * appropriate Log instance. Requests for static resources are handled at a higher level, so</span> </span></li>
<li class='alt'><span><span class='comment'> * this filter will only be invoked for Tapestry related requests.</span> </span></li>
<li class=''><span><span class='comment'> * </span> </span></li>
<li class='alt'><span><span class='comment'> * <p></span> </span></li>
<li class=''><span><span class='comment'> * Service builder methods are useful when the implementation is inline as an inner class</span> </span></li>
<li class='alt'><span><span class='comment'> * (as here) or require some other kind of special initialization. In most cases,</span> </span></li>
<li class=''><span><span class='comment'> * use the static bind() method instead. </span> </span></li>
<li class='alt'><span><span class='comment'> * </span> </span></li>
<li class=''><span><span class='comment'> * <p></span> </span></li>
<li class='alt'><span><span class='comment'> * If this method was named "build", then the service id would be taken from the </span> </span></li>
<li class=''><span><span class='comment'> * service interface and would be "RequestFilter". Since Tapestry already defines</span> </span></li>
<li class='alt'><span><span class='comment'> * a service named "RequestFilter" we use an explicit service id that we can reference</span> </span></li>
<li class=''><span><span class='comment'> * inside the contribution method.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span> <span class='keyword'>public</span><span> RequestFilter buildTimingFilter(</span><span class='keyword'>final</span><span> Log log) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> RequestFilter() </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>boolean</span><span> service(Request request, Response response, RequestHandler handler) </span></span></li>
<li class='alt'><span> <span class='keyword'>throws</span><span> IOException </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='keyword'>long</span><span> startTime = System.currentTimeMillis(); </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>try</span><span> </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='comment'>// The reponsibility of a filter is to invoke the corresponding method</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// in the handler. When you chain multiple filters together, each filter</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// received a handler that is a bridge to the next filter.</span><span> </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>return</span><span> handler.service(request, response); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> <span class='keyword'>finally</span><span> </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> <span class='keyword'>long</span><span> elapsed = System.currentTimeMillis() - startTime; </span></span></li>
<li class=''><span> </span></li>
<li class='alt'><span> log.info(String.format(<span class='string'>"Request time: %d ms"</span><span>, elapsed)); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> }; </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='keyword'>public</span><span> RequestFilter buildUtf8Filter( </span></span></li>
<li class=''><span> <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"RequestGlobals"</span><span>) </span><span class='keyword'>final</span><span> RequestGlobals requestGlobals) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>return</span><span> </span><span class='keyword'>new</span><span> RequestFilter() </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>boolean</span><span> service(Request request, Response response, RequestHandler handler) </span></span></li>
<li class='alt'><span> <span class='keyword'>throws</span><span> IOException </span></span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> requestGlobals.getHTTPServletRequest().setCharacterEncoding(<span class='string'>"UTF-8"</span><span>); </span></span></li>
<li class=''><span> <span class='keyword'>return</span><span> handler.service(request, response); </span></span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> }; </span></li>
<li class='alt'><span> } </span></li>
<li class=''><span> </span></li>
<li class='alt'><span> <span class='comment'>/**</span> </span></li>
<li class=''><span><span class='comment'> * This is a contribution to the RequestHandler service configuration. This is how we extend</span> </span></li>
<li class='alt'><span><span class='comment'> * Tapestry using the timing filter. A common use for this kind of filter is transaction</span> </span></li>
<li class=''><span><span class='comment'> * management or security.</span> </span></li>
<li class='alt'><span><span class='comment'> */</span><span> </span></span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>void</span><span> contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, </span></span></li>
<li class='alt'><span> <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"TimingFilter"</span><span>) </span></span></li>
<li class=''><span> RequestFilter filter, <span class='annotation'>@InjectService</span><span>(</span><span class='string'>"Utf8Filter"</span><span>) RequestFilter utf8Filter) </span></span></li>
<li class='alt'><span> { </span></li>
<li class=''><span> <span class='comment'>// Each contribution to an ordered configuration has a name, When necessary, you may</span><span> </span></span></li>
<li class='alt'><span> <span class='comment'>// set constraints to precisely control the invocation order of the contributed filter</span><span> </span></span></li>
<li class=''><span> <span class='comment'>// within the pipeline.</span><span> </span></span></li>
<li class='alt'><span> configuration.add(<span class='string'>"Utf8Filter"</span><span>, utf8Filter); </span></span></li>
<li class=''><span> configuration.add(<span class='string'>"Timing"</span><span>, filter); </span></span></li>
<li class='alt'><span> </span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeTranslatorDefaultSource( </span></span></li>
<li class='alt'><span> MappedConfiguration<Class, Translator> configuration) </span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> configuration.add(BigDecimal.<span class='keyword'>class</span><span>, </span><span class='keyword'>new</span><span> BigDecimalTranslator()); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span> </span></li>
<li class=''><span> <span class='keyword'>public</span><span> </span><span class='keyword'>static</span><span> </span><span class='keyword'>void</span><span> contributeTranslatorSource( </span></span></li>
<li class='alt'><span> MappedConfiguration<String, Translator> configuration) </span></li>
<li class=''><span> { </span></li>
<li class='alt'><span> configuration.add(<span class='string'>"bigdecimal"</span><span>, </span><span class='keyword'>new</span><span> BigDecimalTranslator()); </span></span></li>
<li class=''><span> } </span></li>
<li class='alt'><span>} </span></li>
</ol>
</div>
17 楼
koda
2007-08-23
代码也贴出来
package org.opend.bogo.services; public class AppModule { public void contributeRequestHandler( OrderedConfiguration<RequestFilter> configuration, @InjectService("TimingFilter") final RequestFilter timingFilter, @InjectService("Utf8Filter") final RequestFilter utf8Filter) { configuration.add("Utf8Filter", utf8Filter); // handle UTF-8 } public RequestFilter buildUtf8Filter( @InjectService("RequestGlobals") final RequestGlobals requestGlobals) { return new RequestFilter() { public boolean service(Request request, Response response, RequestHandler handler) throws IOException { requestGlobals.getHTTPServletRequest().setCharacterEncoding("utf-8"); return handler.service(request, response); } }; } }
16 楼
koda
2007-08-23
我在onSuccess里面插入数据库之前打印就是乱码
另外我创建数据库的时候用下面的语句
CREATE DATABASE bogo CHARACTER SET UTF8 COLLATE utf8_general_ci;
另外我创建数据库的时候用下面的语句
CREATE DATABASE bogo CHARACTER SET UTF8 COLLATE utf8_general_ci;
15 楼
dengyin2000
2007-08-23
koda 写道
引用
要记得清除开发环境和浏览器的缓存。
都清除了,也换成了jetty5.1.14. 问题依旧,绝望了:(
很有可能你的mysql数据库不是用的utf-8.
你可以调试下 在你onSuccess里面看看 提交后的java class的数据是不是乱码。
14 楼
Linuxboy
2007-08-23
那就奇怪了。我的开发环境是:XPsp2+mysql5(utf8)+eclipse3.3+jetty6.1.3+tapestry5.0.5
在form中输入中文提交后,中文显示正常。
在form中输入中文提交后,中文显示正常。
13 楼
koda
2007-08-23
引用
要记得清除开发环境和浏览器的缓存。
都清除了,也换成了jetty5.1.14. 问题依旧,绝望了:(
12 楼
Linuxboy
2007-08-22
要记得清除开发环境和浏览器的缓存。
11 楼
dengyin2000
2007-08-22
koda 写道
引用
确定你的html 和 java 文件的编码用的是utf-8? eclipse的话 在文件上右键 ---》 然后properties。
.java, .html采用UTF-8
数据库utf-8
环境: WindowsXP + mysql5.0.18 + jetty5.1.12
乱码依旧:(
jetty5.1.14. mysql5. 在ubuntu 和windows xp下就没问题。。 呵呵 RP有问题。
10 楼
koda
2007-08-22
引用
确定你的html 和 java 文件的编码用的是utf-8? eclipse的话 在文件上右键 ---》 然后properties。
.java, .html采用UTF-8
数据库utf-8
环境: WindowsXP + mysql5.0.18 + jetty5.1.12
乱码依旧:(
发表评论
-
解决用run-jetty-run锁住css,js文件的问题。
2008-09-25 17:46 6586开发中用run-jetty-run插件启动jetty调式tap ... -
打造Tapestry5中的智能的错误页面。
2008-09-18 15:59 1778我们一般需要为生产和开发环境准备两套error page。 t ... -
T5这么多的Page Lifecycle method, 应该怎样使用?
2008-09-04 18:18 2368Tapestry5种大概有以下Page ... -
扔掉T5复杂的Grid组件,打造自己灵活的支持分页排序组件。
2008-01-03 13:12 2826Grid算是比较T5中较复杂的一个组件,我也有篇介绍Grid怎 ... -
对Tapestry的一点思考。
2007-12-27 23:33 4064Tapestry5已经开发了蛮久了。 听说最近要发布T5.0. ... -
Tapestry 5.0.5 bug, TAPESTRY-1648
2007-08-26 12:20 2601有一个domian object, 其中有个property的 ... -
T5 技巧 3:使用“t::body”进行布局。
2007-08-25 00:08 2901现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 ... -
T5 技巧 2:为Grid组件的每一行增加“删除/修改”链接。
2007-08-21 12:35 8967现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 ... -
T5 developing with WTP and TOMCAT
2007-08-16 09:50 2711以下是我发给tapestry右键列表的问题。 现在还没有人回复 ... -
Wicket Vs Tapestry
2007-05-11 14:41 7448我是一个tapestry的老用户。从学校毕业就开始使用tape ... -
Tapestry5中 page template不能reload。
2007-05-09 13:50 5854上午看了下tapestry5的文档,然后自己写了个简单的页面。 ... -
Tapestry Table 组件的强大(分页查询时只fetch当前页的数据)。
2006-03-01 16:00 4313导入的blog格式乱了,大 ... -
Tapestry 显示图片
2006-03-06 16:00 2746导入的blog格式乱了,请看我的msn spaces blog ... -
@Persist 解释
2006-03-08 16:00 3120a) @Persist("client") ... -
原创 Tapestry的Cache组件
2006-12-22 11:24 5058有许多页面的一部分或者这个页面是很少更新的,他们通常是由外部文 ...
相关推荐
Bart_T5-摘要使用来自Bart和T5模型的汇总任务可以直接比较文本摘要Bart和T5的最佳模型。安装需求pip install -U transformerspip install -U torchpip install flask跑步python app.py巴特总结T5总结
T5-Model:使用T5(文本到文本的传输转换器)模型在笔记本上进行收集
T5飞马 中文生成式预训练模型,以mT5为基础架构和初始权重,通过类似PEGASUS的方式进行预训练。 详情可见: ://kexue.fm/archives/8209 分词器 我们将T5 PEGASUS的令牌生成器转换成BERT的令牌生成器,它对中文更友好...
驱动迪文屏 dmt48270c043 -04wr,显示汉字 英文 数字。画线 矩形等
谷歌FLAN-T5作者亲讲:5400亿参数,1800个任务,如何实现大语言模型“自我改进”_鲟曦研习社.pdf
T5: 高速公路超速处罚 T9: 查找书籍 T4: 分形的递归输出 T7: 士兵排队 T8: 输油管道问题 T1: 插座问题 T7: 后序+中序序列构造二叉树 T8: 求第K小的数 T1: 数字三角形 T2: 新冠状病毒的基因序列 T3: 单调...
TAP_Unidad1_T5_Proyecto 获奖者:Campos Casasanero Juan Pablo // sobre el proyecto。 基本操作和操作程序。 拉斯维加斯歌剧院之子: uma 雷斯塔 Multiplicacion。 二分法。 Raiz cuadrada。 Expoente al ...
这是 GNUVario-E 项目的站点。 基于 ESP32 平台的免费开源硬件和变量计。 您可以在此处获取源代码:
T5自然问题T5 for NQ是针对自然问题的文本到文本的问答。 它使用自然问题(NQ)数据集对T5模型进行微调,该数据集旨在使用实际用户问题和注释者从Wikipedia中找到的相应答案来训练和评估自动QA系统。安装克隆仓库,...
DWIN迪文T5L各种不同尺寸屏幕配置文件CFG,但买回来屏幕时通常没有这些配置文件,在开发时要重新从0开始配置,比较麻烦,这些可以参考,在这基础上改要简单很多
T5的整体介绍【代码实战】1.Header 2.summary 3 T5 model 3.1 forward 3.2 预训练任务 3.2.1 multi sentence pairs 3.3 完成 tasks 可见可以做的任务有1.翻译;2.是否接受一个句子;3.句子直接的相似度计算;4.摘要...
PRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rarPRJ T5.rar
T5UIC1工具集(1).zip
压缩包文件打包了迪文指令屏T5UIC1开发所需要的所有资料,经过自己验证可用。帮大家省时省事,无需再到处收集。我用的屏型号为DMT48270C043_04WN,其他型号的屏估计会有差别,仅供参考。
项目案例分析:通过实际案例,深入解析如何在 T5L DGUSII 平台上进行应用开发,并提供相关经验和技巧。 通过阅读本书,读者将能够: 了解 T5L DGUSII 平台的基本情况和应用场景。 熟练掌握 T5L DGUSII 平台的开发...
自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等)部署说明...
谷歌FLAN-T5作者亲讲:5400亿参数,1800个任务,如何实现大语言模型“自我改进”-鲟曦研习社.pdf
AJAX T5.rarAJAX T5.rarAJAX T5.rarAJAX T5.rarAJAX T5.rarAJAX T5.rarAJAX T5.rarAJAX T5.rar