我想知道如何使用dropzone.js与JSF上传文件.在文档(http://www.dropzonejs.com/#usage)中,它说使用dropzone就像使用:
<input type="file" name="file" />
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在JSF中实现服务器端部分来获取文件并将其存储在磁盘中.
我src/main/resources在我的JSF项目中放了一个属性文件.
我该如何处理它?我知道EL在辅助bean中不起作用.
注意:该文件位于src/main/resources- NOT src/main/webapps/resources,因此以下内容不起作用:
FacesContext context = FacesContext.getCurrentInstance();
File value = context.getApplication().evaluateExpressionGet(context, "#{resource['resources:email.properties']}", File.class);
Run Code Online (Sandbox Code Playgroud) 我正在JBoss AS 6.1.0.Final中使用JSF2.1和RichFaces 4.1.现在,我专注于重写URL.在尝试了不同的方法之后,我决定坚持使用PrettyFaces,因为它非常直观易用(并在几分钟内完成).
有一个问题很难.脚本/ css的相对链接搞砸了,因为URL已更改,相对路径最终在404.我可以使用绝对路径但这会强制我更改许多页面并在页面的源代码中公开应用程序的结构.
我正在考虑一个暂时的解决方法:给予支持bean管理这些相对链接的不同级别的责任,但重新使用bean使这成为一个微妙的问题.
我的问题是,在重写URL时是否有定义的方法或最佳实践来管理这些相对路径?
编辑
h:outputStylesheet和h:outputScript就像一个魅力.剩下的就是解决以相对方式引用图像的CSS的一个小问题.采取这种结构:
-------/resources
|
---_img
|
---_css
|
---_js
Run Code Online (Sandbox Code Playgroud)
文件夹中的CSS文件_css引用image1.png位于_img具有相对路径的文件夹中的图像../_img/image1.png.问题是这最终会在404中找到,因为它找不到图像/myApp/javax.faces.resource/_img/image1.png.
更改每../对#{request.contextPath}/resources的CSSS里面似乎工作得很好,但我不知道是否有更好的方式来做到这一点.相对路径方法不起作用对我来说似乎很奇怪.
我使用GlassFish 4.1在NetBeans 8.02中创建了一个Java JSF应用程序.作为facelet创建的其中一个网页包含以下标记:
<h:head>
<title>Address Book: Add Entry</title>
<h:outputStylesheet name="style.css" library="css"/>
</h:head>
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,我收到错误:
Unable to find resource css, style.css
Run Code Online (Sandbox Code Playgroud)
我查看项目中的Web Pages/resources/css文件夹,并且存在style.css.如果我从另一个项目添加style.css文件夹,一切正常.
我需要做什么才能将style.css自动放入正确的文件夹而不是我手动执行它 - 或者在设置项目或编写xhtml标记时是否缺少某些内容?
我在以下路径中有一张图片:
resources
\_____img
\_______sites
\_______reddit.png
Run Code Online (Sandbox Code Playgroud)
我使用以下命令行来引用它:
<p:graphicImage library="img" name="/sites/reddit.png"/>
Run Code Online (Sandbox Code Playgroud)
但在开发控制台中却说:
GET http://localhost:8080/RES_NOT_FOUND 404 ()
Run Code Online (Sandbox Code Playgroud)
并且不会渲染图像。
怎么了?
这两个版本的JSF(JSF 1.0和JSF 2.0)有什么区别?由于我是java的新手,我只发现建筑级别的差异.但是,从视角来看,我无法知道它对应用程序开发有多大影响?
此外,强加的MVC与JSF和Spring不同.即使JSF改进了架构,Spring仍然使用得更多.Spring的重要性在上面有什么意义?
简单的问题(使用JSF 2.0和primefaces 2.2.1):
我需要创建一个按钮或链接,将我带到外部URL(即www.facebook.com),我需要该按钮看起来像facebook图标而不是文字.我怎样才能做到这一点?谢谢.
我在我的java ee应用程序中使用现成的模板(带有css和j查询).除了primefaces 3.2的panelgrid控件之外,所有的primefaces组件都被正确呈现.它以边框显示.我希望它没有边界.我已从自定义现成模板的CSS中删除了所有表格样式.边界还在那边.当我删除现成的模板时,panelgrid完美呈现没有任何边框.我如何删除边框,这是什么原因造成的?
编辑: xhtml文件:
<!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:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AP administration panel - A massive administration panel</title>
</h:head>
<h:body>
<div>
<h:form>
<p:panelGrid columns="2" style="border: none">
<h:outputText value="scrip symbol"/>
<p:inputText value=""/>
<p:commandButton value="submit"/>
</p:panelGrid>
</h:form>
</div>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个高级selectOneMenu(PrimeFaces) 以根据其标志图标选择语言环境。图标显示在列表中,但不显示所选项目(展示同样发生)。我怎么能这样做?
<p:selectOneMenu id="mySOMId" value="#{localeBean.locale}" var="mySOMVar" converter="#{localeConverter}" >
<f:selectItems
value="#{myBean.locales}"
var="localeSIVar"
itemLabel="#{localeSIVar.language}"
itemValue="#{localeSIVar}" />
<p:column style="text-align: center;" >
<h:graphicImage library="default" height="20" name="img/#{mySOMVar.language}.svg" />
</p:column>
</p:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
我可以看到它f:selectItems有一个itemLabelEscaped属性,我可以用它在 中输出<img>标签itemLabel,但我不知道我会在它的src.
谢谢
在JSF页面中,我使用EL来查找放在/resource/images/文件夹中的图像.
<h:graphicImage value="#{resource['images:logo.gif']}"
Run Code Online (Sandbox Code Playgroud)
EL如何定位图像?也许规范定义了规则,但我不知道哪个规范.我尝试在JSR-000344 JavaServer Faces 2.2,JSR-000342 Java平台,企业版7,JSR-000341表达式语言3.0中找到它,但没找到.
我试图从这样的资源中获取图像:
<img src="#{resource['img/bla.svg']}"/>
Run Code Online (Sandbox Code Playgroud)
像这样工作
但是现在我想对此文件进行一般化,因此它将来自这样的java类:
LogoHandler.getLogo(String type)
Run Code Online (Sandbox Code Playgroud)
我试图像这样将它们放在一起:
<img src="#{resource["#{logoHandler.getLogo("A1")}"]}"/>
Run Code Online (Sandbox Code Playgroud)
但是它当然不起作用,只是为了向您展示我想要达到的目标。
你能帮我吗?
jsf ×10
primefaces ×4
java ×3
resources ×3
el ×2
jsf-2 ×2
classpath ×1
css ×1
dropzone.js ×1
file-upload ×1
frameworks ×1
graphicimage ×1
prettyfaces ×1
properties ×1
xhtml ×1