Java 是否将ImageIcon从类显示到JSF页面?

Java 是否将ImageIcon从类显示到JSF页面?,java,swing,jsp,jsf,imageicon,Java,Swing,Jsp,Jsf,Imageicon,我正在学习JSF2.0,我在一个类中有一个ImageIcon。我可以把这个ImageIcon显示到JSF页面上吗?除了在服务器端将其呈现到图像之外,我想applet是将ImageIcon显示到网页中的唯一其他方法。除了在服务器端将其呈现到图像之外,我想说,applet是将图像图标放入网页的唯一其他方法。存在一些主要的概念误解 Java/JSF在Web服务器上运行并生成HTML。HTML在webbrowser上运行,可以通过、和元素中的(相对)URL引用CSS/JS/图像文件图像图标是Swing的

我正在学习JSF2.0,我在一个类中有一个
ImageIcon
。我可以把这个
ImageIcon
显示到JSF页面上吗?

除了在服务器端将其呈现到图像之外,我想applet是将
ImageIcon
显示到网页中的唯一其他方法。

除了在服务器端将其呈现到图像之外,我想说,applet是将
图像图标
放入网页的唯一其他方法。

存在一些主要的概念误解

Java/JSF在Web服务器上运行并生成HTML。HTML在webbrowser上运行,可以通过
元素中的(相对)URL引用CSS/JS/图像文件<代码>图像图标是Swing的一部分,与此无关

Swing根本不生成任何HTML。当您仍然试图在一个由HTTP请求调用的Java类中以“Swing方式”运行它时,例如JSF支持bean类,甚至是“普通”servlet类,那么它将只显示在连接到Web服务器运行的物理机器的屏幕上,而不是Web浏览器运行的物理机器上(这正是HTML运行的地方)

最终,您需要通过普通HTML方式显示图标。也就是说,使用
元素,或者在具有CSS
背景图像
属性的块元素上。无论哪种方式,它们都必须指向返回图像的有效URL(也就是说,当最终用户在浏览器的地址栏中输入该URL时,它应该可以看到整个图像)。通常,这是通过将图像文件放在公共webcontent(您也在其中存储JSF(XHTML/JSP)页面)中来实现的

在JSF中,您可以使用
组件处理HTML
元素

WebContent
|--META-INF
|--WEB-INF
|--资源
|`--图像
|`--icon.png
`--index.xhtml
以及
index.xhtml


然后,只要打开
index.xhtml
,最终用户就可以看到所需的图像


另一种方法是创建一个基于Swing的or应用程序,将图像显示为
ImageIcon
,最后通过HTML
元素将其嵌入网页。但这显然很笨拙。

存在一些重大的概念误解

Java/JSF在webserver上运行并生成HTML。HTML在webbrowser上运行,可以通过
元素中的(相对)URL引用CSS/JS/图像文件。
图像图标
是Swing的一部分,与此无关

Swing根本不生成任何HTML。当您仍然试图在由HTTP请求调用的Java类中以“Swing方式”运行它时,例如JSF支持bean类,甚至是“普通”类servlet类,则它将仅显示在连接到Web服务器运行的物理机器的屏幕上,而不是webbrowser运行的物理机器上(这正是HTML运行的地方)

最终,您需要通过普通HTML方式显示图标。也就是说,使用
元素,或者在具有CSS
背景图像
属性的块元素上。无论哪种方式,它们都必须指向返回图像的有效URL(也就是说,当最终用户在浏览器的地址栏中输入该URL时,它应该可以看到整个图像)。通常,这是通过将图像文件放在公共webcontent(您也在其中存储JSF(XHTML/JSP)页面)中来实现的

在JSF中,您可以使用
组件处理HTML
元素

WebContent
|--META-INF
|--WEB-INF
|--资源
|`--图像
|`--icon.png
`--index.xhtml
以及
index.xhtml


然后,只要打开
index.xhtml
,最终用户就可以看到所需的图像


另一种方法是创建一个基于Swing的or应用程序,将图像显示为
图像图标
,并最终通过HTML
元素将其嵌入网页。但这显然很笨拙。

是一个可以在无头环境中对渲染图像进行流式处理的方法示例。是可以在无头环境中对渲染的图像进行流式处理。标记JSP有什么特别的原因吗?它是自JSF2.0以来的一种视图技术,Facelets(XHTML)成功地实现了这一点。我希望这只是无知,而你实际上没有使用它?否则你会错过很多好的JSF 2.0特性,比如
等等。你为什么要标记JSP?这是自JSF 2.0以来的一种视图技术,Facelets(XHTML)成功了它。我希望这只是无知,而你实际上没有使用它?否则你会错过很多不错的JSF 2.0功能,比如
等等。谢谢BalusC!我正在关注你,我会将图像上传到我的服务器上,并通过url在JSF页面上显示,对吗?不客气。是的,只要通过url提供它们,你就可以参考我在这个相关的答案中,你可以找到一些关于如何在webapp之外保存上传的图片的提示:在这个相关的答案中,你可以找到一个解释,说明为什么你应该在webapp之外保存上传的图片,以及如何通过URL将其返回:谢谢BalusC!我正在关注你,我将把图片上传到我的服务器并在JSF p上显示按url设置年龄,对吗?不客气。是的,只要按url设置就可以了,这样你就可以在HTML
中引用它。在这个相关的答案中,你可以找到一些如何在webapp之外保存上传的图像的提示:在这个相关的答案中,你可以找到一个解释,说明为什么你应该在webapp之外保存上传的图像,以及如何为它提供服务确认