标签: jsf-2

是否可以将JSF + Facelets与HTML 4/5一起使用?

Facelets依赖XML命名空间来使用XHTML.HTML 4如何,据我所知,HTML 5不支持名称空间.HTML 5还有一些XHTML中没有的新元素.甚至HTML 4和XHTML在它们支持的元素和属性方面也存在一些差异.

问题是:是否可以使用Facelets呈现HTML 4/5文档?如果是这样,怎么样?

xhtml jsf html5 facelets jsf-2

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

什么是Mojarra?

Mojarra与Sun的JSF参考实现有何不同?

它只是一个更新的版本?它只是一个重命名?

java jsf jsf-2 jsf-1.2

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

以编程方式获取当前页面

在JSF支持Bean(Managed Bean的,虚焊豆,无所谓),我可以得到上下文路径的客户端是通过调用

FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();
Run Code Online (Sandbox Code Playgroud)

这给了我客户端当前访问的路径,比如/myapplication.是否也可以得到当前页面,就像/home.faces,怎么样?

java jsf jsf-2

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

如何在JSF 2.0中使会话无效?

在JSF 2.0应用程序中使会话无效的最佳方法是什么?我知道JSF本身不会处理会话.到目前为止我能找到

private void reset() {
    HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
            .getExternalContext().getSession(false);
    session.invalidate();
}
Run Code Online (Sandbox Code Playgroud)
  1. 这种方法是否正确?有没有办法没有触及ServletAPI?
  2. 考虑一种方案,其中@SessionScopedUserBean处理用户的登录注销.我在同一个bean中有这个方法.现在,当我reset()完成必要的数据库更新后调用该方法时,我当前的会话作用域bean会发生什么?既然豆本身也存放在HttpSession

session session-scope httpsession jsf-2 managed-bean

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

我需要将哪些XHTML文件放入/ WEB-INF中,哪些不是?

在这些问题之后:

我写了所有来解决JSF2框架的"愚蠢"问题,我无法直接链接到存储在/WEB-INF子文件夹中的页面.之后我做了一些关于Google和Stackoverflow的研究我会知道一件事:我如何构建一个JSF2 Web项目?

特别是,我在哪里放置XHTML页面?

jsf facelets web-inf jsf-2

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

在JSF页面中定义和重用EL变量

是否可以在EL表达式中定义变量并重新使用该变量?

例如 :

<h:inputText 
   value="#{myBean.data.something.very.long}"
   rendered="#{myBean.data.something.very.long.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

我的想法是这样的:

<!-- 
     somehow define a variable here like : 
     myVar = #{myBean.data.something.very.long} 
-->
<h:inputText 
   value="#{myVar}"
   rendered="#{myVar.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?谢谢 !

jsf el jsf-2

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

如何在Facelets模板中引用CSS/JS /图像资源?

我已经完成了关于Facelets模板的教程.

现在我尝试创建一个与模板不在同一目录中的页面.我有页面样式的问题,因为样式用相对路径引用,如下所示:

<link rel="stylesheet" href="style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)

我可以通过以下开头使用绝对引用/:

<link rel="stylesheet" href="/project_root_path/style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)

但是,当我将应用程序移动到不同的环境时,这将给我带来麻烦.

所以我想知道在Facelets中引用CSS(以及JS和图像)资源的最佳方法是什么?

resources jsf facelets templating jsf-2

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

我可以将哪些值传递给f:ajax标记的event属性?

我试图找到一个可以传递给f:ajax标签的属性"event"的所有可能值的列表.

我知道我也可以从我的.js文件中传递函数名称,但我需要的只是JSF附带的函数名称.

我只知道点击鼠标悬停和键盘,但我相信还有更多.只是不知道在哪里找到它们.

ajax jsf jsf-2

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

如何创建自定义EL函数来调用静态方法?

我是JSF 2的新手.我的问题是关于BalusC对这个问题的回答jsf2 ajax基于请求参数更新部件 我尝试了kickstart代码BalusC发布并且我遇到了EL解析错误:

 /nameofpage.xhtml @12,64 rendered="#{bean.panels.contains('u1')}"
 Error Parsing: #{bean.panels.contains('u1')}
Run Code Online (Sandbox Code Playgroud)

我想这是因为我没有运行一个支持Servlet 3.0/EL 2.2的容器,并且根据Servlet 3.0规范声明了/WEB-INF/web.xml.我正在使用Tomcat 6.

BalusC在他的回答中建议创建一个自定义EL功能.但是如何使用自定义EL功能完成此操作?或者只需配置我项目的某些部分即可解决这个问题?

以下是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>    
  </context-param>      
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

jsf static-methods function el jsf-2

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

使用p:graphicImage和StreamedContent从数据库显示动态图像

我想显示的保存在数据库中的图像字节StreamedContent<p:graphicImage>,如下所示:

<p:graphicImage  value="#{item.imageF}" width="50"  id="grpImage" height="80"/>
Run Code Online (Sandbox Code Playgroud)
private StreamedContent content; // getter and setter

public StreamedContent getImageF() {

    if (student.getImage() != null) {
        InputStream is = new ByteArrayInputStream(student.getImage());
        System.out.println("Byte :"+student.getImage());
        content = new DefaultStreamedContent(is, "", student.getStuID());
        System.out.println("ddd ------------------------------- " + content);
        return content;
    }

    return content;
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个空白图像.这是怎么造成的,我该如何解决?

标准输出打印以下内容:

INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@b0887b
INFO: Byte :[B@a2fb48
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@1d06a92
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@39a60
INFO: Byte :[B@d52f0b
INFO: ddd ------------------------------- org.primefaces.model.DefaultStreamedContent@8c3daa …
Run Code Online (Sandbox Code Playgroud)

database jsf image primefaces jsf-2

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