我学习JSF 2.0,我有一个ImageIcon
一类。 我可以告诉这个ImageIcon
到JSF页面?
Answer 1:
这里也有一些主要的概念误解回事。
的Java / JSF运行在Web服务器并生成HTML。 HTML运行于web浏览器,并且可以通过(相对)网址引用CSS / JS /图像文件<link>
, <script>
和<img>
的元素。 ImageIcon
是摇摆的一部分,并没有任何这一切。
摇摆不产生任何HTML可言。 当你还在尝试运行“的摇摆方式”,其中由一个HTTP请求调用,如JSF支撑类,甚至“纯香草”的servlet类的Java类,那么它只会显示在屏幕其连接到网络服务器上运行的物理机器,而不是一个,其中web浏览器运行(这正是其中HTML运行)。
最终,你需要表现出正常的HTML方式的图标。 即,使用该<img>
元素,或者与CSS的块元件上background-image
属性。 无论哪种方式,他们有指向它返回的图像(即,当终端用户进入exaclty在浏览器的地址栏这个URL,它应该看到的全部图像)有效的URL。 通常情况下,这是通过将图像文件中的公共web内容(有,你还可以存储你的JSF(XHTML / JSP)页面来实现。
在JSF手段,可以procude一个HTML <img>
使用元素<h:graphicImage>
组件。 提供了下面的web内容的文件夹结构
WebContent
|-- META-INF
|-- WEB-INF
|-- resources
| `-- images
| `-- icon.png
`-- index.xhtml
和以下组分index.xhtml
<h:graphicImage name="images/icon.png" />
那么最终用户应该能够通过刚刚开放观看所需图像index.xhtml
。
另一种方法是创建一个Swing基于小应用程序或在webstart(JNLP)应用程序,它显示图像作为ImageIcon
最后经由HTML嵌入它<applet>
或<object>
在所述网页元件。 但是,这是普通的笨拙。
Answer 2:
总之,它渲染在服务器端的图像,我会说的applet将是唯一的其他方式得到ImageIcon
到一个网页。