我有2个不同的Java项目,一个有2个类:dynamicbeans.DynamicBean2和dynamic.Validator.
在另一个项目中,我动态加载这两个类并将它们存储在一个 Object
class Form {
Class beanClass;
Class validatorClass;
Validator validator;
}
Run Code Online (Sandbox Code Playgroud)
然后我继续创建一个Validator对象validatorClass.newInstance()并使用它validator然后我创建一个bean对象并使用beanClass.newInstance()并将其添加到会话中.
portletRequest.setAttribute("DynamicBean2", bean);
Run Code Online (Sandbox Code Playgroud)
在Form项目的生命周期中,我调用validator.validate()从会话中加载先前创建的bean对象(我正在运行Websphere Portal Server).当我尝试将此对象强制转换为DynamicBean2失败并出现ClassCastException时.
当我将对象拉回会话时使用
faces.getApplication().createValueBinding("#{DynamicBean2}").getValue(faces);
Run Code Online (Sandbox Code Playgroud)
并使用.getClass()我得到检查它的类dynamicbeans.DynamicBean2.这是我想要将它强制转换为的类,但是当我尝试获取ClassCastException时.
我得到这个的原因是什么?
一位同事让我将签名从使用原始"布尔"更改为使用分类"布尔".他没有提供很好的解释原因?
你们有没有人听说过这个问题,你们中有谁可以解释为什么重要或无关紧要?
编辑:他提到这是公共方法的好习惯.
字段的使用只是一个标志,告诉我是否要调用一个流程或另一个流程,具体取决于它是真还是假.
在日志记录系统中,每个日志输出都由辅助类完成,并使用此方法
public void debug(String message) {
Logger logger = Logger.getLogger(getCallingClass());
logger.debug(message);
}
...
public Class getCallingClass() {
/*
Calls Thread.getStackTrace() and back traces until the class on the stack trace
!= this.getClass().
*/
return classFound;
}
Run Code Online (Sandbox Code Playgroud)
它的运行成本有多高,是否会有显着的性能提升?
是否可以从HttpServletRequest对象获取原始HTTP请求?我希望尽可能将原始请求视为String.
我需要获取请求的全文,在这种情况下,它是一个POST请求,因此URL没有帮助.它也是多部分表单的一部分,所以我不能只调用"getParameterNames()"或"getParameterValues()".
谢谢,
如何在指定时间(比如上午11:00)使用java.util.Timer?每天运行任务?我正在使用JDK 1.4.2,我知道它已经过时了,但它正是项目所需要的.
我放了两个输出语句,一个在"save()"的开头,另一个在结尾,用于自定义的JSF组件."saveState()"位于UIComponent对象中.为什么我的输出语句被打印两次?基本上这就是我所看到的
"entering save"
"ending save"
"entering save"
"ending save"
Run Code Online (Sandbox Code Playgroud)
谢谢.
你怎么知道如何形成JNDI字符串?我知道必须有一种格式,这些分歧必须意味着什么,但我无法找到解释它们的好资源.例如: java:comp/env/wm/default.这应该连接到Websphere中具有默认名称的WorkManager.但是"java","comp","env"是什么意思?我知道wm/default意味着什么,因为这是放在WorkManager中的JNDI名称,但其余的意思是什么?
谢谢
如果我想要一个带有"是/否"单选按钮的问题.我如何标记代码,以便屏幕阅读器读取与"是/否"选项相关的问题,而不是仅在选择单选按钮时读取"是"和"否"标签?
<span>Did you understand this? (choose one) </span>
<label>
<input type="radio" id="yes_no" name="yes_no" value="Yes" />
Yes
</label>
<label>
<input type="radio" id="yes_no" name="yes_no" value="No" />
No
</label>
Run Code Online (Sandbox Code Playgroud)
谢谢
我开始在我的项目中练习TDD,作为背景,它还包含遗留代码.我们使用Mockito作为模拟框架并遵循Spring MVC方法.
有些时候,有一个Service类使用许多不同的DAO对象作为@Autowired属性实现.这些服务中有简单的方法,例如completeTransaction.
completeTransaction将使用许多DAO对象来完成其职责
但是,在执行这些操作时,该方法需要调用不同的方法DAO来获取和更新事务,获取业务流程ID,获取挂起的事务(并保存其更新).这意味着测试此方法的单元使我添加了许多@Mock属性.我需要在测试实际完成之前设置模拟对象以测试某个条件.
这看起来像代码味道,对我而言,几乎感觉测试是确保代码的实现而不仅仅是合同.同样,在不模仿依赖关系的情况下,测试用例将不会运行(由于NPE和其他因素).
我可以遵循什么策略来清理这样的代码?(虽然我无法真正提供问题的实际源代码).我认为一种可能性是使用类似("getPendingOperations"和"advanceBusinessProcess")的方法设置外观类.然后我可以模拟一个依赖.但后来我认为在所有其他具有这种情况的类中我需要做同样的事情,然后我害怕为了更清洁的测试而最终得到很多"辅助"类.
先谢谢你.
java ×8
html ×2
jsf ×2
components ×1
dhtml ×1
iframe ×1
java-ee ×1
javascript ×1
jdk1.4 ×1
jndi ×1
load ×1
logging ×1
reflection ×1
section508 ×1
servlets ×1
timer ×1
unit-testing ×1
websphere ×1