标签: facelets

使用FireFox 3.5缓存的JSF问题,wyciwyg://前缀

我是JSF的新手,我的简单JSF应用程序有问题.我在WebLogic 10.3.2(11g)上使用Facelets和Richfaces.该申请基本上是3页:

A < - > B < - > C.

其中中间箭头表示导航规则.导航是通过a4j执行的:commandButtons问题出在Firefox 3.5中,当我从B到C点击时,我从wyciwig://获取一个url .更详细地说,起始URL是:

HTTP://本地主机:7001/MyApp的/ index.faces

当我从B导航到C时,我得到的网址是:

wyciwyg:// 20/http:// localhost:7001/myapp/index.faces

从Google搜索中我看到wyciwig是WhatYouCacheIsWhatYouGet,因此问题可能与缓存有关.在那个方向上,我做了两件事:

答:我添加了以下元标记:

<meta http-equiv="Pragma" content="No-cache"/>
<meta http-equiv="Cache-Control" content="no-store,No-cache,must-revalidate,post-check=0,pre-check=0,max-age=0"/>
<meta http-equiv="Expires" content="-1"/>
Run Code Online (Sandbox Code Playgroud)

B.我添加了一个PhaseListener来添加HTML标头标签,如此处所示.

不幸的是,问题仍然存在.

另一件可能相关的事情是,由于某种原因,我的导航不会更改浏览器地址栏中显示的网址.当我将鼠标悬停在a4j:commandButtons上时,状态栏中显示的链接始终是

HTTP://本地主机:7001/MyApp的/ index.faces#

所以问题如下:

  1. 为什么会出现这个wyciwyg:// 20 /前缀,我该如何克服这个问题呢?
  2. 从页面导航到页面时,如何更改URL?这会使"后退按钮工作"吗?

干杯!

更新1:这些家伙在这里(葡萄牙文)说,更换所有A4J:commandLink与A4J:htmlCommandLink解决了这个问题.我做了,他们是对的.通过,我不明白原因.

navigation jsf caching richfaces facelets

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

Facelets自定义标记无法呈现

我正在尝试使用Facelets创建自定义标记,但它不呈现(即标记在响应中显示为未替换).

标签(/WEB-INF/facelets/tags/inputThumbnailSelector.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:ui="http://java.sun.com/jsf/facelets"
   xmlns:t="http://myfaces.apache.org/tomahawk">

<ui:composition>
 <div style="position: relative;">
  <img style="position: absolute; left: 0; top: 0;" src="#{image}"/>
  <div class="thumbnail-selector" style="position: absolute; left: #{backingBean.thumbnailLeft}; top: #{backingBean.thumbnailTop};"/>
 </div>
</ui:composition>

</html>
Run Code Online (Sandbox Code Playgroud)

/WEB-INF/facelets/tags/panayk.taglib.xml:

<!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">

<facelet-taglib>
 <namespace>http://panayk.endofinternet.org/jsf</namespace>
 <tag>
  <tag-name>inputThumbnailSelector</tag-name>
  <source>inputThumbnailSelector.xhtml</source>
 </tag>
</facelet-taglib>
Run Code Online (Sandbox Code Playgroud)

我的web.xml包含:

<context-param>
 <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
 <param-value>/WEB-INF/facelets/tags/panayk.taglib.xml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

这是标记的调用方式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<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:ui="http://java.sun.com/jsf/facelets"
   xmlns:t="http://myfaces.apache.org/tomahawk"
   xmlns:my="http://panayk.endofinternet.org/jsf">

<ui:composition template="/layout/layout.xhtml">
...  
   <my:inputThumbnailSelector image="${facesContext.externalContext.requestContextPath}/image/get.servlet?id=1" 
            backingBean="#{entryHandler}"/>
...
</ui:composition>

</html>
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

jsf facelets

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

JSF - 在单个bean中的@ManagedProperty上设置多个值

我需要在同一个bean上设置2个不同的ManagedProperty.所以我试过:

@ManagedBean(name="selector")
@RequestScoped
public class Selector {
    @ManagedProperty(value="#{param.page}")
    @ManagedProperty(value="#{param.profile_page}")
    private String page;
    private String profile_page;

    public String getProfile_page() { 
        if(profile_page==null || profile_page.trim().isEmpty()) {
            this.profile_page="main";
        }
        return profile_page;
    }
    public void setProfile_page(String profile_page) { this.profile_page = profile_page; }

    public String getPage() {
        if(page==null || page.trim().isEmpty()) {
            this.page="homepage";
        }
        return page;
    }
    public void setPage(String page) { this.page=page; }
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我不能写出2个不同的@ManagedProperty:它说重复的注释.我该如何解决?

另一个:当我返回这个值时,它是一个字符串,我需要对抗.这个语法:

<h:panelGroup rendered="#{selector.profile_page.compareTo("main")}">
    <ui:include src="/profile/profile_main.xhtml" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

将工作?

干杯

jsf facelets javabeans jsf-2

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

Eclipse JSF + facelet - 打开和编辑页面很慢

在Eclipse(Helios)中打开JSF页面(JSF + Apache Trinidad + facelet)时,Eclipse会在页面打开前冻结几秒钟.

此外,在编辑页面时,代码完成/语法验证很慢 - 例如我输入<tr:并且我必须等待几秒钟才能继续输入或显示tr标签.

每次输入开始标签时我都要等待并且让我慢慢减速,这是非常烦人的.

我也在使用自定义facelet标签.

怎么做才能避免Eclipse冻结/放慢速度?我是否必须更改任何配置才能加快速度?

eclipse jsf facelets trinidad

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

.xhtml文件中的更改未反映在浏览器中,需要重新启动和构建

如果我在.xhtml文件中进行更改,则更改不会反映在浏览器的屏幕上.为了使它工作,我必须每次都重新启动服务器.这对我来说似乎很笨拙.

我在我的添加了以下上下文参数web.xml:

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

但是,它们没有任何效果.

我的技术堆栈如下:

  • SWF 2.3.0
  • Primefaces 2.2.1
  • JSF 2
  • Spring Security 3
  • 春季3.1.0M1I
  • 的Ehcache
  • Apache Tomcat 6.0
  • STS 2.5.1.

eclipse tomcat facelets jsf-2

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

如何在<h:dataTable>中使用<ui:include>?

我想<ui:include>动态地多次包含一个页面.

码:

<h:dataTable ..>
    <h:column>
        <ui:include  src="#{create_page}">
    <h:column>
<h:dataTable>
Run Code Online (Sandbox Code Playgroud)

现在,当我提交它时,它只持续最后一个.它只记住最后一个包含页面的值.我想在每个create_page中使用唯一的实体对象.我怎样才能做到这一点?

datatable jsf facelets uiinclude

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

JSF2.0如何在使用commandButton时将viewParam传递给请求范围的支持bean?

我有以下页面:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui: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:ui="http://java.sun.com/jsf/facelets"
    xmlns:o="http://omnifaces.org/ui"
    xmlns:thehub="http://java.sun.com/jsf/composite/components/thehub"
    template="/templates/masterTemplate.xhtml">
    <f:metadata>
        <f:viewParam
            id="returnToViewParam"
            name="returnTo"
            value="#{loginMB.returnTo}"
            required="true" />
        <f:viewParam
            id="oauth_verifierViewParam"
            name="oauth_verifier"
            value="#{loginMB.oauth_verifier}" />
        <f:viewParam
            id="oauth_tokenViewParam"
            name="oauth_token"
            value="#{loginMB.oauth_token}" />
        <f:event
            type="preRenderView"
            listener="#{loginMB.preRenderView()}" />
    </f:metadata>

    <ui:define name="body">
        <o:form
            id="loginForm"
            includeViewParams="true">
            <div class="form-vertical well">
                <h4>New Users</h4>
                <h5>
                    <h:link outcome="signup">Click here to create an account</h:link>
                </h5>
                <hr />
                <h4>Existing Users</h4>
                <h:commandButton
                    id="googleLoginCommandLink"
                    styleClass="btn"
                    action="#{loginMB.redirect()}"
                    value="Google">
                    <f:param
                        name="returnTo"
                        value="#{param.returnTo}" />
                </h:commandButton>
                <div class="clearfix"></div>
            </div>
        </o:form>
    </ui:define> …
Run Code Online (Sandbox Code Playgroud)

jsf facelets omnifaces

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

http://xmlns.jcp.org命名空间中的标记不会呈现,而http://java.sun.com/jsf工作正常

我有这个:

<html 
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
>
<h:selectOneRadio>
    <f:selectItem value="1" itemValue="1" itemLabel="123"/>
    <f:selectItem value="2" itemValue="2" itemLabel="321"/>
</h:selectOneRadio>
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

<f:selectItem value="1" itemValue="1" itemLabel="123"></f:selectItem>
<f:selectItem value="2" itemValue="2" itemLabel="321"></f:selectItem>
<select name="j_idt5" size="1"></select>
Run Code Online (Sandbox Code Playgroud)

为什么xmlns:f="http://xmlns.jcp.org/jsf/core"标签没有呈现?

我在Netbeans 7.3上使用JBoss AS 7.

jsf facelets xml-namespaces

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

警告:此页面调用以前缀fb声明的XML名称空间http://www.facebook.com/2008/fbml,但该名称空间不存在taglibrary

我正在使用Javascript为网站开发FB登录应用程序.我尝试在HTML中工作正常.当我转换为JSF时,它会出错.

这是我的fbLogin.xhtml代码.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:fb="http://www.facebook.com/2008/fbml">
    <h:head>
        <title>FB Login</title>
        <link rel="stylesheet" type="text/css" href="./xmlhttp/css/rime/rime.css"/>
    </h:head>
    <h:body styleClass="ice-skin-rime">   

   <fb:login-button scope="email"></fb:login-button> 
    <script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '<APP_ID>',
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

    // Additional initialization code here

    showMe = function(response) {
      if …
Run Code Online (Sandbox Code Playgroud)

jsf facelets facebook-javascript-sdk

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

JSF的facelets和AngularJS ng-view

我在里面view.xthml,里面有facelets组件.喜欢:

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

在那里我尝试整合AngualerJS,推杆ng-view,像这样:

   <div ng-view> </div>
Run Code Online (Sandbox Code Playgroud)

当我/view.jsf渲染时出现服务器端错误:

Attribute name "ng-view" associated with an element type "div" must be followed by the ' = ' character.
Run Code Online (Sandbox Code Playgroud)

因此,它验证了我的html阻止角度ng-view开始工作.

现在的问题是:如何整合angularjs及其ng-viewjsf/facelets基于我的情况?

jsf facelets angularjs

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