动态修改Tapestry 5中的FormInjector上下文信息

我当前的问题是在FormInjector动态更新上下文信息,我之前的问题在Tapestry 5中更新表单内的区域可能包含有用的背景信息。 我在模板中添加了以下内容。 以及我的组件类中的以下内容。 @OnEvent(component = “injector”) Block loadItemFields(String id) { item = itemRepository.find(id); return itemFieldsBlock; } 一切正常,新的表单字段出现,但搜索始终使用相同的id 。 我想在触发事件之前用JavaScript更改id ,但我不知道如何实现这一点。 如果需要其他信息,我很乐意提供。

Taglib里面的Maven依赖jar。 如何在web.xml中配置此taglib?

所以我曾经这样配置我的taglib: myTags /WEB-INF/lib/mylib-2.0.1.jar 但是现在mylib-2.0.1.jar是一个maven依赖项,所以它当然不在/ WEB-INF / lib上。 我该怎么做配置我的taglib所以我可以在我的JSP中做到这一点: 编辑1:对于clafiry,taglib.tld位于jar内的META-INF内部,因此您可以通过引用jar本身来访问tld。 这是将taglib与Web应用程序框架jar一起分发的便捷方式。 EDIT2:当我们部署webapp时,jar将在WEB / INF / lib中。 但是在开发期间,在Eclipse中使用m2eclipse,jar不会。 所以eclipse抱怨它找不到taglib没有位置,因为jar不存在而我无法在web.xml中引用我的jar。

用于开始Java源文件的有效关键字

到目前为止,我知道这些关键字对于开始java源文件是有效的: class , public , import , package , interface和final 来自评论的补充: abstract , strictfp , enum 还有吗? (感谢所有超级快速回复!随意编辑此内容以添加更多内容。)

应用程序在MediaPlayer中连续播放声音时崩溃

我发现以下代码作为一个问题的答案在这里一个接一个地在MediaPlayer中播放多个文件在android中 当我运行它时,播放了3个声音但随后应用程序关闭并显示消息 不幸的是,申请已经停止。 onCompletion方法中是否缺少某些内容? public class MainActivity extends Activity implements MediaPlayer.OnCompletionListener { int[] tracks = new int[3]; int currentTrack = 0; private MediaPlayer mediaPlayer = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracks[0] = R.raw.p46; tracks[1] = R.raw.p52; tracks[2] = R.raw.p55; mediaPlayer = MediaPlayer.create(getApplicationContext(), tracks[currentTrack]); mediaPlayer.setOnCompletionListener(this); mediaPlayer.start(); } public void onCompletion(MediaPlayer arg0) { […]

亚马逊sqs的异步消费者

我不熟悉队列。 我能够成功发布消息并同步接收它们但是,我现在正试图异步。 sqs提供的参考链接建议使用jmsclient包装器。 如果您已经有一个集成到jms客户端的代码,那么该链接还会提到使用它。 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/jmsclient.html#samples 但我重新开始,我引用这个例子同步发送和recv消息。 https://github.com/aws/aws-sdk-java/blob/master/src/samples/AmazonSimpleQueueService/SimpleQueueServiceSample.java 我可以使用相同的代码,但使用消息监听器实现它吗? 任何代码示例将不胜感激。

删除OneToMany关系中的实体

我无法理解从OneToMany关系中删除实体所需的最小努力。 我发现很多例子只是将实体添加到这些集合中(并且可以正常工作),但是删除实体要难得多。 我有以下课程: @Entity public class Product { … OneToMany(mappedBy=”product”, orphanRemoval=true, cascade={CascadeType.DETACH,CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},fetch=FetchType.EAGER) Set experts = new HashSet(); … } @Entity public class Expert { … @ManyToOne(optional=false) Product product; @ManyToOne(optional=false) Person person; … } (人与产品相似) 我充满了产品和专家。 我想从产品列表中删除专家,以便完全删除专家实体。 我希望以下代码就足够了: Product aProduct = findAProduct(…); Expert anExpert aProduct.getExperts.get(…); // Just get the first expert that I want removed EntityManager […]

使用java XSLT Extensions的数组

我正在尝试使用java在XSLT Extensions中使用数组。 我收到以下错误: Caused by: java.lang.ClassCastException: org.apache.xpath.objects.XObject cannot be cast to org.apache.xpath.objects.XNodeSet. 我使用数组的方式是。 扩展类方法 public static String[] getEvents(String contractIdStr,String tradeIdStr) { return new String[]{“MacroType”,”Type”,”SubType”}; } 在XSL内部, 我正在使用XALAN Parse。

如何在标准Java中实现Android消息处理程序模式?

我正在写一个通过蓝牙与PC通信的Android应用程序。 在正常操作期间,它会从电话向PC发送快速连续的短8字节数据包,通常大于100Hz。 在每个设备上,运行一个执行写入和读取的单独线程。 代码如下所示: /** * The Class ProcessConnectionThread. */ public class ConnectedThread extends Thread { /** The m connection. */ private StreamConnection mmConnection; InputStream mmInputStream; OutputStream mmOutputStream; private boolean mmCanceled = false; /** * Instantiates a new process connection thread. * * @param connection * the connection */ public ConnectedThread(StreamConnection connection) { mmConnection = […]

Android webview.postUrl(url,Encodingutils.getBytes(postData,“BASE64”))从postdata字符串中删除“+”

我从Webview发布到https服务器,如下面的URL所示,BASE64为charset。 将数据发送到WebView中加载的页面 我的postdata字符串是Base64编码的字符串,其中包含“+”。 当我按上述URL中所示的方式发布时,服务器日志显示缺少“+”的postdata字符串 我应该能够从Webview发布任何数据字符串,因为我将发布一个我无法控制的Base64编码字符串。 请帮我解决这个问题。 更新 :我甚至尝试过这样的 String postData = “fileContents=” + fileCon; mWebView.postUrl(url,postData.getBytes()); 但发布时仍然会从postData中删除“+”。如果postData中没有“+”,则会正确发布。

无法摆脱JdbcOdbcDriver.finalize()中的断点

我使用MyEclipse 8.6 + Apache Tomcat 5.5.27 + JRockit 1.6.0 05进行Web开发。 每次我从MyEclipse以调试模式启动Tomcat时,它都会挂起JdbcOdbcDriver.finalize():96″的NullPointerException JdbcOdbcDriver.finalize():96″ 。堆栈跟踪只是Thread.run (当然,终结器): protected synchronized void finalize() { if (OdbcApi.getTracer().isTracing()) { OdbcApi.getTracer().trace(“Driver.finalize”); } try { if (hDbc != 0L) { disconnect(hDbc); closeConnection(hDbc); hDbc = 0L; } } catch (SQLException localSQLException) {} } 真的很烦人,每个工作日都会看到这几百次。 我没有把这个断点放在这里,我无法禁用它。 我检查了exception断点是否已关闭。 你有什么建议吗? 断点如何“冻结”到JVM中?