是否有解决当前对象实例的解决方案?
我正在寻找一些看起来像的东西:
class KillMe {
....
public void destroy() {
this.getObject = null //this is only for demonstrate my idea
}
....
}
Run Code Online (Sandbox Code Playgroud) 我只是想找出如何制作深层副本的最佳解决方案HashMap.此映射中没有实现的对象Cloneable.我想找到比序列化和反序列化更好的解决方案.
我需要为JSF中的某些组件生成动态ID来解决我的问题.
看看这个例子:
<h:outputText id="#{bean.id}" value="#{bean.value}" />
Run Code Online (Sandbox Code Playgroud)
我的问题是我收到此错误:
java.lang.IllegalArgumentException: Empty id attribute is not allowed
Run Code Online (Sandbox Code Playgroud)
当我查看生成的HTML输出时,组件的ID为空.这是怎么造成的,我该如何解决?
好多了:
if (condition) {
try {
//something
} catch(SomeEx ex) {}
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
try {
if (condition) {
//something
}
} catch(SomeEx ex) {}
Run Code Online (Sandbox Code Playgroud)
当我进入try块时,JVM实际上做了什么?
编辑:我不想知道在第二个例子总是进去尝试...请回答问题.
将spring @Component和JPA中的注释@Entity放在同一个类上是错误的想法.为什么需要在JSF页面上使用这个类,它还描述了表结构.原因是避免将Entity对象映射到将作为表示层的某个值对象.
这是一些反模式吗?你有更好的解决方案吗?
我想记录我的Web应用程序的一些行为,它也实现了hibernate,spring等.当我试图从apache实现log4j logger时,我遇到了一些麻烦.
当我打开记录器时,它也在调试hibernate和spring,我不想要它.我试图配置属性文件来指定我的项目的包但它不起作用.
这是我的属性文件代码:
log4j.rootCategory=ERROR, O
log4j.category.com.my.package= DEBUG, FILE, O
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log/logger.log
log4j.appender.O=org.apache.log4j.ConsoleAppender
.... and some layout
Run Code Online (Sandbox Code Playgroud)
它在我切换时工作,rootCategory = DEBUG但它正在调试休眠和弹簧,正如我所说.
我目前正尝试将一些数据从datatable传递给对话框,然后确认一些操作.我的问题是将bean传递给对话框工作正常,但当我尝试通过单击保存按钮保存它时,它似乎为null.
码:
<p:column>
<p:commandButton value="Mark" update="showPlayers:display" oncomplete="userDialog.show()" >
<f:setPropertyActionListener value="#{user}" target="#{manageUser.selectedUser}" />
</p:commandButton>
</p:column>
...
<p:dialog header="Mark" widgetVar="userDialog" resizable="true" id="userDlg"
width="400" showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2"
<!-- this below works fine -->
<h:outputText value="#{manageUser.userSelected.email}"/>
<p:commandButton ajax="false" value="Save" actionListener="#{manageUser.addNewFeature}" oncomplete="userDialog.hide()" />
</h:panelGrid>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
当我尝试addNewFeature使用bean userSelected的方法工作时,它解析为null并抛出NullPointerException.我实际上并不知道我在哪里丢失了对这个实例的引用.这个bean是请求作用域.
感谢您的任何意见或解答.