使用超类引用变量在Java子类对象中重载/覆盖方法

class A{ void m1(A a) {System.out.print(“A”);} } class B extends A{ void m1(B b) {System.out.print(“B”);} } class C extends B{ void m1(C c) {System.out.print(“C”);} } public class d { public static void main(String[] args) { A c1 = new C(); C c2 = new C();c1.m1(c2); }} 此代码的输出为’A’ 。 但如果我将A类修改为: class A{ void m1(C a) {System.out.print(“A”);} […]

防止getText()评估EL表达式

在Struts2后端,我有一个动作类实例变量,例如: keyName 。 返回到视图的动态密钥(JSP)。 使用POST方法使用请求参数设置此keyName变量。 根据请求参数值, keyName会有所不同。 在JSP中,我使用来显示与keyName变量给出的键对应的标签。 当我向keyName发送例如${90-40}的EL表达式时,正在评估此表达式并导致在UI上显示50。 我们如何使用getText()避免或阻止这种EL注入? 有没有其他替代方法而不是 ?

Struts 1使用Multipart / Form-Data Enctype进行失败的表单validation后丢失请求参数

我有一个简单的Struts表单。 它有一些文本字段和一个文件字段。 enctype是我表单上的multipart/form-data 。 我在actionform的validation方法中validation。 如果文本字段为空,则返回所需的错误。 与可见字段一起,在处理表单并返回到JSP时,我传递了一些需要作为请求参数的隐藏字段。 JSP需要这些请求params 。 当没有validation错误时,一切都很有效,因为在操作中使用ActionRedirect类返回请求params 。 但如果返回错误,我会丢失请求params 。 (我可以在actionform validate方法或操作中访问它们)。 如何确保请求params在multipart表单中的validation错误时被传回? 有什么办法吗? 下面的动作映射(稍加编辑用于混淆): 我的JSP表单行:

Java Web Start应用程序可以从本地系统读取文件,但不能写入

请询问您是否需要更多信息。 我在jnlp中有安全性和所有权限标签,当我运行我的java应用程序离线时,它可以正常工作。 File T = new File(System.getProperty(“user.home”) + File.separator + “.myapp/”); if(!T.exists()) T.mkdirs(); File[] temp=new File[2]; temp[0] = new File(System.getProperty(“user.home”) + File.separator + “.myapp”+File.separator+”temp1.txt”); temp[1] = new File(System.getProperty(“user.home”) + File.separator + “.myapp”+File.separator+”temp2.txt”); writer=new BufferedWriter(new FileWriter(temp[x])); writer.write(finalData); writer.close(); 我使用以下方法写入我想在用户系统的目录中创建的文件。 在程序中,我也从同一个文件夹中读取,当我将测试数据放在该文件夹中时,它可以正常工作。 当我删除temp1.txt和temp2.​​txt文件时,它不会读取任何数据。 没有出现任何错误消息。 重申一下,当在java web start中运行时,弹出窗口并且程序正确运行而没有错误消息,但是它没有正确地将文件写入用户系统。 同时,当在.txt文件中提供测试数据时,它会正确读取。 编辑:如果可能的话,有没有使用某些javaw.jnlp。*方法的解决方案? 该程序实际上必须有一个文件夹,其中包含.txt文件 edit2:我的所有jar子也都签了

防止Glassfish使用自己的库版本而不是项目中的库

Glassfish将大量第三方库存储在其modules目录中。 令我惊讶的是,如果我的项目使用了存在的库,Glassfish将从那里提供它,而不是我在WAR文件中打包的正确版本。 这导致了许多错误。 例如,我使用jackson-datatype-joda版本2.6.3,它需要具有相同版本的jackson-databind ,并且它包含在我的项目中。 但Glassfish用版本2.3.2取代了该软件包,导致了这个问题 。 如何防止Glassfish(4.1)将我使用的库替换为其他版本?

将JarEntry转换为File

我正在使用一个想要File()作为参数的库。 我要传递的文件是我想用我的应用程序打包的文件,作为.jar的一部分 有没有办法将我从.jar中获得的JarEntry转换为我可以传递的File对象? 如果没有,我必须暂时将资源复制到磁盘,哪里是放置临时文件的最佳位置? 谢谢。

关于将spring bean注入jsf bean的问题

将spring bean注入jsf bean时遇到问题,导致javax.faces.FacesException(无法实例化类),javax.faces.el.E​​valuationException 这是我的xml文件: 文件WEB-INF / components.xml定义了spring bean 文件WEB-INF / faces-config.xml定义了jsf bean Video Home Bean videoBean rambo.tool.VideoBean session videoService videoService #{Components[“rambo.api.VideoService”]} 文件videoMain.jsp: 在resourceToolExists中:videoBean使用videoService的一些方法 得到:javax.faces.FacesException(无法实例化类rambo.impl.VideoServiceImpl),javax.faces.el.E​​valuationException

无法分配连接,因为:用户ID长度(0)超出1到255的范围

我正在使用带有JSF,EJB和JPA的Netbeans创建登录界面。 当我尝试部署项目时,它抛出以下exception: Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: User id length (0) is outside the range of 1 to 255. Error Code: 0. Please see server.log for more details. C:\Users\Dell\Desktop\assignmenttask2\nbproject\build-impl.xml:1033: The module has not been deployed. See the server log for details. 这是怎么造成的,如何解决?

从文件重定向输入时出错

这是我的代码: import java.util.Scanner; class Graph{ boolean [][]array; int N; Graph (){ array = new boolean [1001][1001]; N=0; } void read_graph() { Scanner sc = new Scanner(System.in); N = sc.nextInt(); sc.nextLine(); String str; String []substr; for (int K=1; K<=N; K++){ str = sc.nextLine(); substr = str.split(" "); for (int I=0; I0){ G.read_graph(); G.query(); numGraphs–; } } […]

Resteasy可以查看JAX-RS方法的参数类型吗?

我们使用Resteasy 3.0.9作为我们的JAX-RS Web服务,最近切换到3.0.19,我们开始看到很多RESTEASY002142: Multiple resource methods match request警告。 例如,我们有以下方法: @Path(“/{id}”) public String getSome(UUID id) @Path(“/{id}”) public String getSome(int id) 我不确定它在3.0.9中是如何工作的,可能,我们非常幸运,因为Resteasy似乎从所有候选人中选择了第一种方法(以及3.0.19种候选方法)。 一种解决方案是明确指定正则表达式: @Path(“/{id : [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}”) 但有没有办法以某种方式告诉Resteasy查看方法参数并自动构造适当的正则表达式?