我有像这个用户几乎相同的问题.
在我的情况下,我从db加载一个实体,我将此实体转换为DataTransferObject,然后我想编辑一个属性,之后我将其转换回entityObject,然后我更新该实体并且hibernate抛出以下错误:
Hibernate Error: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
Run Code Online (Sandbox Code Playgroud)
显然,问题是我从db检索的对象具有与我想要更新的对象相同的id(就像它应该的那样)但是那些不是同一个对象!
如何管理?谢谢你的帮助...
在Tomcat 7上部署我的webApplication时,我将获得下面的控制台输出.重新启动服务器两次或三次后,它可以正常工作.
我正在使用JSF,Tomcat和businesslogic部分的RMI连接(在这里应该没关系?)
@ViewScoped托管bean中的@EJB导致java.io.NotSerializableException - 这里我读到了序列化.但是在这种情况下,客户端状态保存被激活,这在我的webApp中并非如此(就我的web.xml告诉我而言).那么我的视图编译ManagedBeans的序列化是必要的还是另一个失败?
这是我的启动控制台输出(Sry中的德语部分):
28.01.2011 20:25:05 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Programme\Java\jdk1.6.0_21\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Programme/Java/jre6/bin/client;C:/Programme/Java/jre6/bin;C:/Programme/Java/jre6/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Gemeinsame Dateien\Lenovo;C:\Programme\ATI Technologies\ATI.ACE\Core-Static;C:\Programme\Java\jdk1.6.0_20;C:\StudiPortal\TortoiseSVN\bin;C:\StudiPortal\apache-maven-2.0.11\bin;C:\Programme\Intel\WiFi\bin\;C:\Programme\ThinkPad\ConnectUtilities;C:\Programme\GTK2-Runtime\bin;C:\Programme\OpenVPN\bin
28.01.2011 20:25:05 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:shapeyourbody' did not find a matching property.
28.01.2011 20:25:06 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
28.01.2011 20:25:06 org.apache.coyote.ajp.AjpProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
28.01.2011 20:25:06 org.apache.catalina.startup.Catalina load
INFO: Initialization …
Run Code Online (Sandbox Code Playgroud) 我已经实现了由转发器创建的列表:
<ui:repeat value="#{projectData.paginator.list}" var="project">
<h:outputText value="#{project.title}" />
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
和一个过滤我的列表的按钮:
<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
那么,点击命令链接(使用AJAX)后,是否有一种简单的方法只渲染我的转发器:-)
我试过以下:
<f:ajax render="repeater">
ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project">
<h:outputText value="#{project.title}" />
</ui:repeat>
<f:ajax />
<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
<f:ajax event="click" render="repeater"/>
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
但那没用..
<h:form>
ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project">
<h:outputText value="#{project.title}" />
</ui:repeat>
<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
<f:ajax event="click" render="repeater"/>
</h:commandLink>
</h:form>
Run Code Online (Sandbox Code Playgroud)
也不起作用...也许我有把动作方法(overviewController.filterNew)放入ajax标签?
<f:ajax event="click" render="repeater">
<h:commandLink action="#{overviewController.filterEBus}">
<h:outputText value="EBusiness" />
</h:commandLink>
</f:ajax>
Run Code Online (Sandbox Code Playgroud)
也不起作用!
也许不可能重新报复中继器?是否有另一个元素,如div标签或可以重新呈现的东西???
...
谢谢您的帮助
如果我按下提交按钮,则会在服务器日志中抛出错误消息
login.xhtml
<h:form>
<p:panel header="Login">
<p:messages id="msgs" showDetail="true"/>
<h:panelGrid columns="2" columnClasses="column" cellpadding="5">
<h:outputLabel for="user" value="Username" />
<h:inputText id="user" value="#{login.username}" />
<h:outputLabel for="pw" value="Passwort" />
<h:inputSecret id="pw" redisplay="false" value="#{login.password}" />
</h:panelGrid>
<p:commandButton value="Anmelden" action="#{login.login}" type="submit" update="msgs" />
</p:panel>
</h:form>
Run Code Online (Sandbox Code Playgroud)
Login.java
@ManagedBean
@ViewScoped
public class Login {
private FacesContext fCtx;
private String username;
private String password;
public Login() {
fCtx = FacesContext.getCurrentInstance();
}
public String login(){
// HttpSession session = (HttpSession) fCtx.getExternalContext().getSession(true);
// String sessionId = session.getId();
fCtx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Info: ", getUsername()+", …
Run Code Online (Sandbox Code Playgroud) 我已经阅读了有关通过actionListener将参数从jsf页面传递给managedbean的信息.是否也可以将参数传递给简单的操作方法?
谢谢你的阅读......
谢谢你们的建议!没有你我会迷路的:-)
以下为我工作:
<h:commandLink id="link" action="#{overviewController.showDetails}" >
<f:setPropertyActionListener target="#{overviewController.show_id}" value="#{project.id}" />
<h:outputText value="#{project.title}" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
那么现在谁值得绿色蜱?:-P我可以给他们两个吗?
当我的嵌入式视频暂停时,Youtube会显示带有视频建议的菜单.iframe中的元素具有"ytp-pause-overlay"类
如何在不删除控件的情况下将其删除?
我想和maven一起开展一个小项目.我想使用JSF2和Hibernate.你能推荐一些原型吗?或者其他一些程序来启动这个项目.
干杯...
我用Java EE编写了一个Web应用程序.我使用的是log4j和Tomcat 6.0.28.当我在tomcat启动我的应用程序时,我的控制台每3秒出现一条错误消息:
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
Run Code Online (Sandbox Code Playgroud)
有人知道这意味着什么吗?log4j.xml可能有问题吗?如果是nessecary,我可以发布更多的代码/配置文件.
该应用程序有效,但我有点担心.谢谢...
我正在使用primefaces及其数据表.几列是日期或货币.如果我试图过滤那些,那就有尴尬的行为.当我开始输入时,过滤器一直工作到第一个分隔符(例如日期点,所以它只过滤11个.下一个字符让表格显示没有条目).
是否可以应用日期转换器?
这是我现在的代码:
<p:column filterBy="#{cou.startDate}"
headerText="#{text['date']}"
filterMatchMode="contains"
sortBy="#{cou.startDate}" >
<h:outputText value="#{cou.startDate}" >
<f:convertDateTime pattern="dd.MM.yyyy" />
</h:outputText>
</p:column>
Run Code Online (Sandbox Code Playgroud) 我想知道如何以正确的方式构建KnockoutJS应用程序.
在只有几个实现的函数后,我的代码变得非常混乱,并且来自面向对象的背景,我对这样的架构非常敏感.所以必须有一个更好的解决方案.
由于对JavaScript不是很有经验,我正在搜索Stackoverflow并找到了这三个选项.所以我尝试了前两个选项,我对它们不满意:
我发现很难确定哪个DOM元素获得ViewModel.还有一些从DOM元素外部调用的函数.也许我在这种架构中使用了太少的ViewModel,但ViewModels之间的通信似乎有所不同,我希望不应该以某种方式进行.那么如何正确地做到这一点?
这是我首选的体系结构类型,因为您可以在一个视图模型中使用文档范围的绑定,但您也可以将代码结构化为子块,并使用with绑定将它们绑定到您想要的任何位置.此选项虽然需要对象文字而不是函数,这些函数比本答案中描述的要差.
我没有尝试过方法三,因为它看起来有点矫枉过正,也使用了对象文字.
那么有没有一种方法来构造我的代码并且还可以完全控制而不使用对象文字?
我希望这不会太混乱:-P
jsf ×5
java ×4
jsf-2 ×3
javascript ×2
tomcat ×2
action ×1
ajax ×1
deployment ×1
hibernate ×1
iframe ×1
knockout.js ×1
log4j ×1
maven-2 ×1
orm ×1
primefaces ×1
tomcat6 ×1
uirepeat ×1
youtube ×1
youtube-api ×1