小编Les*_*ter的帖子

51
推荐指数
1
解决办法
2530
查看次数

如何在整个视图中使用<p:blockUI>?

我想用来<p:blockUI>阻止整个视图.但是因为它的属性block只接受id作为关键字而不是例如@all,我目前看到的唯一方法是使用命名容器(例如<f:subview>)来包装视图的整个内容.

不幸的是,这在语义上是脏的,我需要重命名所有绝对ID,因为<p:blockUI>已经创建了一个新的不必要的(除了)id-"前缀".

有更清洁的方法吗?

facelets primefaces jsf-2

6
推荐指数
1
解决办法
848
查看次数

调试步骤将无法在自己的代码上工作:MyClass $ Proxy $ _ $$ _ WeldClientProxy.myMethod()行:不可用

在调试时,我将断点设置为从另一个(自己的)类调用方法的行.在step into我得到一个Source not found在标题编辑器MyClass$Proxy$_$$_WeldClientProxy.myMethod() line: not available中的堆栈跟踪.
只要我带着断点返回班级,我就可以跨过那些.

我使用Eclipse Kepler SR 1,Eclipse Juno SR 2和JBoss AS 7.1.1和7.2也遇到了同样的问题.

eclipse jboss-weld jboss7.x

5
推荐指数
1
解决办法
2791
查看次数

为什么Servlet的doGet()方法将响应作为参数而不是返回值?

我以前从未质疑过,但为什么呢

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException{}
Run Code Online (Sandbox Code Playgroud)

代替

public HttpServletResponse doGet(HttpServletRequest request)
    throws ServletException, IOException{}
Run Code Online (Sandbox Code Playgroud)

第二个版本不会在语义上更有意义吗?

servlets java-ee

4
推荐指数
1
解决办法
323
查看次数

Primefaces Lightbox的widgetVar干扰ui:重复

我有一个<ui:repeat>迭代a List<String><p:commandButton>使用当前String的值创建一个<p:lightBox>.
但是当我添加widgetVar到我<p:lightBox>的属性时,它的值<p:commandButton>始终是最后一次迭代的String.

有人可以解释发生了什么,并(我需要widgetVar)可能指出一个解决方案?

这是我的HTML:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
<h:head />
<h:body>
    <ui:repeat var="thing" value="#{bugBean.things}">
        <p:lightBox widgetVar="whatever">
            <h:outputLink>
                <h:outputText value="#{thing}" />
            </h:outputLink>
            <f:facet name="inline">
                <h:form>
                        <p:commandButton action="#{bugBean.writeThing(thing)}"
                            value="#{thing}" />
                </h:form>
            </f:facet>
        </p:lightBox>
    </ui:repeat>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是支持bean:

package huhu.main.managebean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

@Named
@SessionScoped
public class BugBean implements Serializable {

   private static final long serialVersionUID = 1L; …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2

3
推荐指数
1
解决办法
1943
查看次数

如何将Javascript作为部分响应返回?

作为对Ajax请求的响应,我想立即返回在客户端上执行的Javascript.我试过这样但它不起作用:

<html xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html">
<h:head></h:head>
<h:body>
    <h:form>
        <h:commandButton value="js">
            <f:ajax event="click" listener="#{myBean.js}"/>
        </h:commandButton>
    </h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

豆子:

package mypackage;

import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.context.PartialResponseWriter;
import javax.inject.Named;

@Named
public class MyBean {

    public void js() {
        System.out.println("called");
        FacesContext ctx = FacesContext.getCurrentInstance();
        ExternalContext extContext = ctx.getExternalContext();
        if (ctx.getPartialViewContext().isAjaxRequest()) {
            try {
                extContext.setResponseContentType("text/xml");
                extContext.addResponseHeader("Cache - Control ", "no - cache");
                PartialResponseWriter writer = ctx.getPartialViewContext()
                        .getPartialResponseWriter();
                writer.startDocument();
                writer.startEval();
                writer.write("alert(’Works!’);");
                writer.endEval();
                writer.endDocument();
                writer.flush();
                ctx.responseComplete();
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript jsf-2

3
推荐指数
1
解决办法
1612
查看次数

如何触发 viewscoped bean 的销毁?

我有一个@ViewScoped-annotated managedbean,它的@PostContruct-method 从数据库中获取一个列表,以显示在视图的表中。
现在,当我删除一个项目时,我希望在视图中看到更改。
为了保持这种动态和可重用,我只想从数据库中删除(而不是从列表中手动删除)。所以我需要销毁/重新创建我想的 bean。现在我通过导航到相同的视图来做到这一点。但我这样做的方式是不可重复使用的。
我可以手动销毁 bean 或导航到同一视图而不显式导航到该特定视图(可重用性)吗?

我正在使用 JSF 2.1

jsf-2

3
推荐指数
1
解决办法
2880
查看次数

TomEE上的Java Eclipselink给出了"Missing required persistence.xml"

我正在尝试在TomEE上设置Eclipselink,但我遇到了一个问题,我得到一个错误,错过了persistence.xml.但是persistence.xml存在于ProjectPath/META-INF/persistence.xml中.

我正在使用Jersey和Eclipselink在IntelliJ上运行Maven项目.这是我的persistence.xml:

<persistence-unit name="DietMakerPostgres">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>database.DietEntity</class>
    <class>database.DietSavedEntity</class>
    <class>database.DietSentenceEntity</class>
    <class>database.UserEntity</class>
    <properties>
        <property name="eclipselink.jdbc.url" value="jdbc:postgresql://xxxxxxx:5432/dietmaker"/>
        <property name="eclipselink.jdbc.driver" value="org.postgresql.Driver"/>
        <property name="eclipselink.jdbc.user" value="postgres"/>
        <property name="eclipselink.jdbc.password" value="xxxxxxxxx"/>
    </properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

这是我宁静的网络服务:

@Path("/api")
@Stateless
public class DietService {
    @PersistenceContext(unitName = "DietMakerPostgres")
    private EntityManager em;
    // The Java method will process HTTP GET requests
    @GET
    // The Java method will produce content identified by the MIME Media type "text/plain"
    @Produces("text/plain")
    public String getClichedMessage() {
        return "Hello World";
    }


}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

feb 12, 2013 9:08:07 PM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: …
Run Code Online (Sandbox Code Playgroud)

java jpa eclipselink

2
推荐指数
1
解决办法
5396
查看次数

Primefaces commandButton在页面刷新时调用action方法

完全编辑: 也许我混淆了问题并被误解了.在简化我的代码之后,问题简化为:如何防止<p:commandButton>在页面刷新时执行它的动作方法(比如在浏览器窗口中按F5时)?

JSF代码:

   <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui">
    <h:body>
        <h:form>
            <h:outputText value="#{bugBean.number}" />
            <h:outputText value="#{bugBean.isComplete()}" />
            <p:commandButton id="entryCommand" value="add"
                action="#{bugBean.increase()}" update="@form" oncomplete="#{bugBean.complete()}"/>
        </h:form>
    </h:body>
    </html> 
Run Code Online (Sandbox Code Playgroud)

支持bean代码:

  package huhu.main.managebean;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

@Named
@SessionScoped
public class BugBean implements Serializable {

   private static final long serialVersionUID = 1L;
   private int number;
   private boolean isComplete = false;

   public void increase(){
      number++;
   }

   public void complete(){
      isComplete = true;
   }

   public int getNumber() {
      return number;
   }

   public …
Run Code Online (Sandbox Code Playgroud)

ajax primefaces jsf-2

1
推荐指数
1
解决办法
2万
查看次数

如何动态地将某个泛型类型分配给List?

问题标题感觉非常笨拙.我很感激编辑.
我正在尝试创建一个可重用的查询来返回由指定List的对象指定的某种对象String.
这不起作用,但我想它会说明我想要做的事情:

public List<?> getAll(String type) {
    Class clazz = Class.forName(type);
    return (List<clazz>) em.createQuery("SELECT t from " + type + " t").getResultList();
}
Run Code Online (Sandbox Code Playgroud)

java generics java-ee

0
推荐指数
1
解决办法
132
查看次数

构造函数调用是否创建了一个新实例?

我学到了两件事:

  1. new-运算符创建一个新的实例,然后执行该规定connstructor初始化新的实例
  2. 构造函数call(this())创建一个新实例.

据我所知,这些陈述相互对立.

new Example()例如,然后不会创建两个实例,因为new-operator创建一个,构造函数调用this()并创建另一个实例?当然它不是,但现在究竟是什么创造了一个实例......?

class Example
{
    private boolean _b;

    public Example()
    {
        this(false);
    }

    public Beispiel(boolean b)
    {
        _b = b;
    } 
}
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
116
查看次数