JSPG0122E:无法解析Websphere 7中的EL函数

我正在将Web应用程序移动到Websphere 7,并且我的JSP页面出现了错误。 JSPG0227E: Exception caught while translating /WEB-INF/jsp/snet/destinationTripReport.jsp: /WEB-INF/jsp/snet/destinationTripReport.jsp(211,8) –> JSPG0122E: Unable to parse EL function ${destForm.flightTable.get(loop.index).tripId}. 发生错误的JSP部分看起来像这样。 ${destForm.flightTable.get(loop.index).tripId} ${destForm.flightTable.get(loop.index).actualArrival} ${destForm.flightTable.get(loop.index).comment} 让我感到困惑的是,这是使用TOMCAT运行的,但是在使用Websphere时会出现错误。

在浏览器外运行Oracle Forms 11g

我们有一个Oracle Forms 11g应用程序,可以通过浏览器启动。 这会留下一个空的浏览器窗口,因为Forms会打开自己的窗口。 但是,如果关闭空浏览器窗口,则窗体窗口也会关闭。 我喜欢这种安装是服务器安装的事实,我可以轻松地更新它。 但我更喜欢桌面上的一个图标(一个shourtcut),它只是在没有浏览器窗口的情况下打开Forms应用程序。 我希望通过Java SDK中的AppletViewer解决这个问题。 但是,当我使用我收到的起始页面的URL启动它时: Warning: tag requires code attribute. Exception in thread “main” java.lang.NullPointerException at sun.applet.AppletViewer.parse(AppletViewer.java:1129) at sun.applet.AppletViewer.parse(AppletViewer.java:1074) at sun.applet.Main.run(Main.java:156) at sun.applet.Main.main(Main.java:98) 有没有人知道如何在没有浏览器的情况下直接打开Forms应用程序(并且没有应用程序的本地安装)? PS:我知道在没有浏览器的情况下将Oracle Forms作为独立运行 ,但它没有帮助我,因为引用的链接不再在线。 更新1:链接已被替换,所以这可能是我将尝试的解决方案。 更新2:我们设法通过Webstart运行我们的Forms应用程序,就像任何其他桌面应用程序一样。 欢呼!

ElasticSearch – 定义排序的自定义字母顺序

我正在使用ElasticSearch 2.4.2(来自Java的HibernateSearch 5.7.1.Final)。 我有字符串排序的问题。 我的应用程序的语言有变音符号,它具有特定的字母顺序。 例如, Ł直接在L之后, Ó在O之后,等等。所以你应该像这样排序字符串: Dla Dła Doa Dóa Dza Eza ElasticSearch首先按典型字母排序,并在结尾处移动所有奇怪的字母: Dla Doa Dza Dła Dóa Eza 我可以为ElasticSearch添加自定义字母顺序吗? 也许有一些插件吗? 我需要编写自己的插件吗? 我该如何开始? 我为ElasticSearch找到了一个波兰语插件 ,但据我所知它是用于分析,并且分析在我的情况下不是解决方案,因为它会忽略变音符号并留下L和Ł混合的单词: Dla Dłb Dlc 这有时是可以接受的,但在我的具体用例中是不可接受的。 对此有任何评论我将不胜感激。

属性’dataSource’是必需的java(Spring)错误

我正在用Java开发一个Web应用程序(Spring) 我的java文件是, try { JdbcTemplate jt = new JdbcTemplate(dataSource); System.out.println(“Connection …..”+jt.toString()); Connection conn; Statement st; conn =DriverManager.getConnection(jt.toString()); conn = (Connection) jt.getDataSource(); st=conn.createStatement(); System.out.println(“Connection created…..”+st); } catch (Exception e) { System.out.println(“Error Found….”+ e.getMessage()); System.out.println(“Strack Trace…..”+e.getStackTrace()); } 我的spring-servlet.xml文件是, 但它得到一个错误,因为, Error Found: Property ‘dataSource’ is required. Strack Trace: [Ljava.lang.StackTraceElement;@7948dd 在这里,我想在Java文件中建立连接,并将其作为Jasper Report传递给另一个变量。 请帮忙,如何解决这个问题?

启动了名为MultiThreadedHttpConnectionManager清理的线程,但未能将其停止

我正在使用Amazon Web Services AWS Java SDK编写Web应用程序。 Apache commons HttpClient版本3在幕后使用。 我有commons-httpclient-3.0.1.jar包括在内。 我的catalina.out中有以下警告 SEVERE: The web application [/MyAppName] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak. 所以我写了一个ServletContextListener,其中contextDestroyed()方法调用: MultiThreadedHttpConnectionManager.shutdownAll(); 但是,警告仍然显示,尽管已经调用了该方法。 我还应该做些什么来确保清理? 编辑 :我想绝对确定contextDestroyed()确实被调用(建议使用nos),所以我在方法的第一个语句上放置了一个断点,停止服务器并且断点被点击我逐步执行了该方法确保不会引发exception,并且方法的每一行都没有问题地执行。 这是我的源代码: @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println(“contextDestroyed() start”); […]

将$ {my.property}评估为@Value注释中的SpEL表达式

长话短说: 有没有办法在不使用转换器的情况下将${my.property}产生的字符串解释为@Value注释中的SpEL表达式,例如@Value(“#{${my.property}} ? 我有一个抽象工厂(简化),它允许我构建一些常见的对象,这些对象是我系统配置的一部分。 @Component public class Factory { public Product makeVal(int x) { return new Product(5); } } 为了更灵活,我想让用户在app.properties文件中编写SpEL表达式,以便可以直接访问工厂: my.property = @Factory.makeVal(12) 现在,在需要此属性的类中,为了实现我的目标,我编写了以下代码。 @Value(“#{${my.property}}”) private Product obj; 我认为${my.property}将被宏扩展,然后由#{}作为相应的SpEL表达式进行评估,在上面的示例中为@Factory.makeVal(12) 。 不幸的是,情况并非如此,加载Spring上下文导致错误,说它无法将字符串(属性值${my.property} )转换为目标类型Product 。 现在,我通过编写一个实现Converter的类来解决这个问题,但是它非常复杂,因为我需要通过实例化ExpressionParser等以编程方式将字符串计算为SpEL表达式。 但是有更简单的解决方案吗? 是否有一个SpEL表达式放在@Value注释中,这样我只需将${my.property}作为SpEL表达式进行评估,好吗?

升级到java 8后无法使用crashlytics释放项目

移动到java 8 ,我在应用程序发布中遇到此错误,因为fabric崩溃: Could not determine the dependencies of task ‘:app:crashlyticsStoreDeobsRelease’. > Task with path ‘dexRelease’ not found in project ‘:app’. 我使用的是Android Studio 2.2 , Gradle version 2.14.1 ,Android插件版本2.2.0 项目运行没有任何问题,但我无法生成签名的apk! 我读过这篇文章无法运行项目 – Android Studio 2.0 Crashlytics问题并且无法确定任务的依赖关系’:app:crashlyticsStoreDeobsDebug’如果我启用了proguard但回答没有帮助我。 这是我的gradle文件: buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1+’ } } apply plugin: […]

在JAXB中需要一个元素或另一个元素

我有一个这样的JAXB注释POJO: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Clazz implements Serializable { @XmlElement(required = false) private int a; @XmlElement(required = false) private int b; } 我想标记要求字段a或字段b 。 根据我目前的设置,它们都不是必需的,但我希望其中一个存在而不是另一个。 我怎么能实现它?

Websocket文件上传速度问题(Java websocket API和Javascript)

我几乎没有做过websocket文件上传function。 但上传速度似乎很慢。 我已经使用Java API for websocket Server和javascript for client。 服务器: package websocket; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import javax.websocket.CloseReason; import javax.websocket.EndpointConfig; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @ServerEndpoint(“/receive/fileserver”) public class FileServer { static File uploadedFile = null; static String fileName = null; static FileOutputStream […]

Jersey – 在调用context.proceed()之前获取Interceptor中OutputStream的内容

在Jersey中使用Interceptor我可以操作Output,但是,我还想在响应中添加一个Header,该值是根据输出结果计算出来的。 @Sha256Sum public class Sha256SumInterceptor implements WriterInterceptor { public static final String SHA256_HASH_HEADER_NAME = “SHA256-SUM”; @Override public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException { // Retrieve the OutputStream, read the contents and calculate the hashsum. // Set the header value in context. context.proceed(); } } 但问题是,当我最终读完整个流时,我无法设置标题,因为调用了context.proceed并写入了内容(从而使我能够用它做任何事情)我再也无法设置标题。 简而言之我的问题:如何将整个流输出捕获为byte [],从字节数组计算结果,最后在对计算结果的响应中设置标头? 我不想耗尽输出流。