小编Kuk*_*tje的帖子

JSF,RichFaces,PrimeFaces和IceFaces之间的区别

我是jsf的新手,想知道JSF,Rich-/Prime-/IceFaces之间的明显区别.

在JSF中,我们使用.jsp扩展名创建页面,并在后台bean中编写java代码.

但究竟所有"面孔"与jsf有何不同.

jsf jsp richfaces primefaces

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

primefaces keyup事件延迟

我有类似的东西:

<p:inputText...>
    <p:ajax event="keyup" update="somefield" listener="#{someBean.doSomething}"/>
</p:inputText>
Run Code Online (Sandbox Code Playgroud)

但我不想在每个按键上都做一个Ajax请求,我想在用户停止写入后半秒钟做请求.

我在另一个问题中看到jQuery解决了这个问题: 如何延迟.keyup()处理程序,直到用户停止输入?

我想知道是否可以在primefaces上执行此操作或如何从jQuery问题调整解决方案.
我正在使用PrimeFaces 3.0.M4.
先感谢您.

primefaces jsf-2

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

如何控制JSF中的访问权限?

我希望在用户登录系统后控制访问权限.

例如:

administrator : can add, delete and give rights to employee
employee : fill forms only
...
Run Code Online (Sandbox Code Playgroud)

因此,在知道用户具有哪些权限后,检查数据库,我想限制该用户可以看到和执行的操作.有一个简单的方法吗?

编辑

@WebFilter("/integra/user/*")
public class LoginFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {    
        HttpServletRequest req = (HttpServletRequest) request;
        Authorization authorization = (Authorization) req.getSession().getAttribute("authorization");

        if (authorization != null && authorization.isLoggedIn()) {
            // User is logged in, so just continue request.
            chain.doFilter(request, response);
        } else {
            // User is not logged in, so redirect to …
Run Code Online (Sandbox Code Playgroud)

jsf login-control jsf-2 servlet-filters

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

p:commandLink无法在新窗口/选项卡中打开页面

我正在尝试创建一个链接,在不同的窗口/选项卡中打开一个新页面,并显示一些来自支持bean的消息但是没有这样做,想知道为什么?

这是我的xhtml文件:

<html:composition xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://primefaces.org/ui"
  xmlns:c="http://java.sun.com/jsp/jstl/core"
  xmlns:ui="http://java.sun.com/jsf/facelets">
  <h:body>
    <h:form id="form66">
    <p:commandLink actionListener="#{testing.getMessage}" action="msg.xhtml" target="_blank">get Msg</p:commandLink>
    </h:form>
  </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的Msg.xhtml页面

<HTML xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://primefaces.org/ui"
  xmlns:ui="http://java.sun.com/jsf/facelets">
  <h:head>
    <title>testing</title>
  </h:head>
  <h:body>
    <div class="div">
      <p:panel>
        <f:facet name="header">
          testing
        </f:facet>
        <div class="paddingForPanel">
          <h:outputText value="#{testing.msg}" escape="false"/>             
        </div>
      </p:panel>            
    </div>
  </h:body>
</HTML>
Run Code Online (Sandbox Code Playgroud)

这是我的testing.java

public void getMessage() {      
    this.msg = "haha";
}

private String msg;
public String getMsg() {
    return msg;
}
public void setMsg(String msg) {
    this.msg = msg;
}
Run Code Online (Sandbox Code Playgroud)


上面的代码无法打开一个新的选项卡/窗口,我尝试像下面这样做,它成功在新选项卡中打开新页面但msg为空,当我调试时,它成功调用了监听器getMessage,我想知道为什么msg.xhtml页面中的msg为空?提前致谢....

<p:commandLink actionListener="#{testing.getMessage}" oncomplete="window.open('msg.xhtml')">broadcast …
Run Code Online (Sandbox Code Playgroud)

jsf commandlink primefaces jsf-2

20
推荐指数
3
解决办法
8万
查看次数

如何使用webjars.org上的Font Awesome和JSF

我试图在我的JSF应用程序中使用Font Awesome图标.我按照入门说明并将以下内容添加到我的视图部分,取得了一些成功<h:head>:

<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css"
      rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

当我使用这个icon-home类时,这给了我一个很好的主页图标:

在此输入图像描述

但是,我不想依赖引导服务器来提供Font Awesome资源,所以我试图将这些与我的战争捆绑在一起,并配置我的视图以使用捆绑的资源.

我正在使用webjars项目创建的预制JAR.我的pom具有以下依赖性:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>font-awesome</artifactId>
    <version>3.2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这将JAR放在我的WAR的WEB-INF/lib目录中.JAR结构的相关部分是:

META-INF
  - MANIFEST.MF
  + maven
  - resources
    - webjars
      - font-awesome
        - 3.2.1
          - css
            - font-awesome.css
            - *other css files*
          - font
            - *font files*
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法在我的项目中包含图标:

<h:outputStylesheet library="webjars" 
                    name="font-awesome/3.2.1/css/font-awesome.css"  />
Run Code Online (Sandbox Code Playgroud)

但是,这会将以前工作的主页图标呈现为:

在此输入图像描述

我的浏览器(Chrome)在控制台中显示以下错误(域/端口/上下文根已更改以保护无辜;):

GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found) 
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf?v=3.2.1 404 (Not Found) 
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

所以看起来虽然正确解析了css文件,但是找不到包含css文件引用的字体的文件.我已在css文件中检查了这些引用,它们是:

src: url('../font/fontawesome-webfont.eot?v=3.2.1');
src: …
Run Code Online (Sandbox Code Playgroud)

css jsf maven font-awesome webjars

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

@Column(unique = true)似乎不起作用

即使我将属性设置为@Column(unique=true),我仍然插入重复的条目.

@Entity
public class Customer {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(unique=true )
    private String name;

    ...
}
Run Code Online (Sandbox Code Playgroud)

我设置了name使用定期ELJSF.我没有create使用表JPA

mysql orm jpa java-ee

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

JPA:正在合并附加实体的必要性吗?

是否正确,我永远不需要使用EntityManager#merge(),只要我只处理附加的管理实体?换句话说,调用merge()上的连接管理实体有没有影响?

或者是否存在合并有用的情况?我发现这个名字暗示我可以用它来处理OptimisticLockException... :)

编辑:简单来说,我对托管实体的理解是,在交易结束时,其属性/字段的修改会持久保存到数据库中.

java jpa

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

如何使用表达式语言访问HashMap

我在操作EL/JSP中的数据时遇到了一些问题.

我有两个变量Action(我使用Struts2 btw)它们是:

private List<Appointment> appointment;
private Map<Integer, String> doctors;
Run Code Online (Sandbox Code Playgroud)

约会具有属性docID,医生列表使用此属性来识别医生全名; 我希望在我的JSP中获得医生的全名.也就是说,我想要这个:

${doctors[${appointment.docID}]} 
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用.关于如何使这个工作的任何想法?

el

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

周视图中的完整日历更改日期格式

我在我的项目中使用了FullQuery的jQuery插件.在fullCalendar周视图中,我可以看到以下列格式显示日期的行: -

Sunday 9/6,Monday 9/7,Tuesday 9/8等...

其实,我想扭转的位置month/dayday/month.

我该如何初始化设置?谢谢!

javascript jquery fullcalendar

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

Primefaces:在datatable上设置页面

我在primefaces中有一个数据表,我想,当我在其中添加一行时,查看数据表的最后一页.

我的.xhtml页面是:

<h:form id=...>
...
<p:dataTable var="webTemplate" id="templateTable" widgetVar="tbl1"/>
...
</h:form>

<h:form id=...>
...
<p:inputText id="txt_description" value="#{templateController.templateDescription}" label="templateDescription">
               <f:validateLength for="txt_name" minimum="1"/>
               <p:ajax event="change"
                     listener="#{calculatePageTable.setPageTableTemplate}"  onsuccess="setTabIndexTT()"/>
               </p:inputText>
...
</h:form>
<script type="text/javascript">
      function setTabIndexTT(){
                    tbl1.getPaginator().setPage(#{calculatePageTable.pageTableTemplate});
                }
      </script>
Run Code Online (Sandbox Code Playgroud)

豆:

@ManagedBean
@SessionScoped
public class CalculatePageTable {

   private int pageTableTemplate = 0;
   private int pageTableField = 0;

   public void setPageTableTemplate() {

      final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
            .findComponent("form:templateTable");
      pageTableTemplate = d.getPageCount() - 1;

   }

   public int getPageTableTemplate() {
      return pageTableTemplate;
   }

   public void setPageTemplateField() { …
Run Code Online (Sandbox Code Playgroud)

primefaces jsf-2

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