小编Joh*_*n N的帖子

PrimeFaces选择器如何在update ="@(.myClass)"中工作?

我不明白PrimeFaces选择器(PFS)是如何工作的.

<h:outputText value="#{bean.text1}" styleClass="myClass" />
<p:commandButton update="@(.myClass)" />
Run Code Online (Sandbox Code Playgroud)

我可以用它.我认为这是一个很棒的工具,虽然它并不总是对我有用.的.myClass是客户端jQuery选择.服务器端的JSF如何知道要更新的内容?

我可以理解正常的JSF ID选择器是如何工作的.

<h:outputText value="#{bean.text1}" id="textId" />
<p:commandButton update="textId" />
Run Code Online (Sandbox Code Playgroud)

textId组件树的引用部件的ID作为在XHTML文件中定义在服务器端.所以我可以理解JSF如何找到合适的组件.

但是如果使用的是primefaces选择器,则使用客户端jQuery选择器.JSF如何知道哪个组件必须更新?有时我的PFS有问题.它似乎并不总是对我有用.如果您使用PFS,是否应该记住哪些内容?

jsf jquery-selectors primefaces jsf-2

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

用户登录后如何限制使用JSF 2访问某些页面?

我想根据用户访问权限限制对某些JSF页面的访问.如何在JSF中做到这一点?我找到了两个链接:通过直接更改JSF中的URL来限制用户访问页面.但答案没有提到如何阻止访问页面.用response.sendError?第二个链接:JSF:如何控制JSF中的访问权限和权限?

还有什么最好使用PhaseListener或使用ServletFilter?

security jsf-2

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

如何在 JSP 中正确使用 JQuery 数据表?

我想在 JSP 中使用 JQuery 的 Datatable-Plugin。主要方法是怎样的?

我想用 AJAX 加载数据表。但我的问题是一般如何使用 JSP 做到这一点。通常我将 JSF 与 Primefaces 一起使用,但这比使用 JSP 要简单得多(我不需要任何 Javascript 代码来为非信徒使用 JQuery-Datables 示例)。

jquery jsp jquery-ui datatables

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

如何在JSF中使用组件绑定?(会话范围bean中的请求范围的组件)

Mojara 2.1.21

我根据评论更新了我的问题.我有两种情况,组件绑定到服务器会话bean.(附加链接信息:绑定属性导致在视图中找到重复的组件ID,并且/sf/answers/875887071/)

版本1:

single.xhtml:

 <h:outputText value=... binding="#{mysessionbean.out}" />
Run Code Online (Sandbox Code Playgroud)

Java的:

 @SessionScoped @Named public class Mysessionbean {
    UIOutput out;
    //getter and setter ....
 }
Run Code Online (Sandbox Code Playgroud)

版本2:

所引用:

 <h:outputText value=... binding="#{mysessionbean.out}"
Run Code Online (Sandbox Code Playgroud)

view1.xhtml:

 <ui:composition template="template.xhtml" />
Run Code Online (Sandbox Code Playgroud)

view2.xhtml:

 <ui:composition template="template.xhtml" />
Run Code Online (Sandbox Code Playgroud)

Java的:

 @SessionScoped @Named public class Mysessionbean {
    UIOutput out;
    //getter and setter ....
 }
Run Code Online (Sandbox Code Playgroud)

版本1没问题.(至少我到目前为止没有遇到任何错误).但是在版本2中,如果我从一个页面导航到另一个页面,则会出现重复ID错误.为什么会这样?使用(请求范围的)组件(在版本1中)与会话作用域绑定是否安全?还有其他用例需要考虑吗?

编辑: 功能要求1:

我想在视图中使用Primefaces数据表.我需要来自这个数据表的一些信息.(例如选定的行或行索引).因此绑定数据表有助于我检索此信息.

功能要求2:

组件在复合组件中的绑定.它们将绑定到会话范围的bean.(主要用在一个页面上,但是如果我在另一个页面上使用它会怎么样?

要求3

"版本2"中的情况.带有primefaces菜单和会话作用域绑定的模板.为此,我使用了EL-Binding.

jsf scope jsf-2

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

JSF如何处理动作监听器?

我很好奇JSF是如何知道单击按钮的,有一些动作,甚至可以使用参数调用动作监听器.我可以想象服务器会注意到状态和EL并调用方法.

例1:

<form>
   <p:commandButton actionListener="{bean.do_something(bean.info)}" />
</form>
Run Code Online (Sandbox Code Playgroud)

例2:

<form>
     <h:datatable values=... var="myvar">
        <h:column>
           <p:commandButton actionListener="{bean.do_something(myvar.info)}" />
        </h:column>
     </h:datatable>
</form>
Run Code Online (Sandbox Code Playgroud)

jsf actionlistener jsf-2

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

为什么java中静态成员的顺序很重要?

为什么java中静态成员的顺序很重要?

例如

public class A {
  static int i= 1;
  static int c = i;
  int a = c; <<------ ok
}
Run Code Online (Sandbox Code Playgroud)

public class B {
  int a = c; <<--- compile error
  static int c = 1;
  static int i = c;
}
Run Code Online (Sandbox Code Playgroud)

为什么Java的设计使得这种排序有所不同?(我根据ykaganovich的回答编辑了我的问题)

编辑:谢谢大家的帮助!我用非静态变量测试了我的例子.它具有完全相同的行为,因此静态不起任何作用.这个问题具有误导性(至少对我而言).我会尝试总结你的答案.

编辑2:

我会尝试总结答案.欲了解更多信息,请阅读下面的答案:)

a)Java中的直接前向引用:

static int i = c;
static int c = 1;
Run Code Online (Sandbox Code Playgroud)

很混乱.所以在Java中不允许这样做.主要原因是初始化顺序.

b)Java中允许间接前向引用

public class Test {
int i = c();
int c() { return c; }
  int c …
Run Code Online (Sandbox Code Playgroud)

java static initialization

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

生产者使用CDI为HashMap注入Ambiguos

我有以下课程:

public class MyMap extends HashMap {
   public MyMap () { }
   some more methods...
}


@SessionScoped
public ProducerClass implements Serializable {
   @Produces @MyItem  HashMap<A,B> produceItems () { }
}

@Named 
public ConsumerClass {
  @Inject @MyItem HashMap<A,B> property;
}

@Retention(RUNTIME)
public @interface MyItem {
}
Run Code Online (Sandbox Code Playgroud)

我在MyMap和HashMap表单的ConsumerClass中得到错误的模糊注入点.

怎么会这样 ?我认为注入类是通过@MyItem注释给出的唯一.

java producer cdi

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

在c:forEach中的视图构建期间评估EL

EL语句在c:forEach循环中的视图构建时间内会发生什么。

<c:forEach var="v" values="#{bean.values}">
    <p:inputText value="#{v.name}" />
</c:forEach>

class Bean {
   public List<Pojo> getValues();
}

class Pojo {
   public void setName (String);
   public String getName();
}
Run Code Online (Sandbox Code Playgroud)

此代码将如何评估渲染?至:

 <p:inputText value="John Smith">
Run Code Online (Sandbox Code Playgroud)

要么

 <p:inputText value="#{pojo.name}" >
Run Code Online (Sandbox Code Playgroud)

jsf jstl el jsf-2

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