日期:2014-05-20  浏览次数:20764 次

在网页面上我如何我获取服务器(Tomcat7.0)上的图片?我是刚学的,我就是弄不出来,希望大家能帮助我,谢谢!
我已经在实体类里获取到了服务器上的绝对路径 如:
public String getImageFile() {
String path=FacesContext.getCurrentInstance().getExternalContext().getRealPath("/resources/img/"); //获得上传文件的服务器上的绝对路径
path+="\\";
this.imageFile=path+imageFile;
System.out.println("imageFile="+imageFile);
return this.imageFile;
}
public void setImageFile(String imageFile) {
this.imageFile = imageFile;
}

输出了:
imageFile=D:\workspance\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\rechfaces01\resources\img\b0005.jpg

页面:
<rich:dataTable value="#{bookbean.books}" var="b" id="mytable" rowKeyVar="r" rows="5">
<rich:column>
<f:facet name="header">
<input type="checkbox" title="请选择"></input>
</f:facet>
<h:selectBooleanCheckbox value="#{b.check}"></h:selectBooleanCheckbox>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="序号"/>
</f:facet>
<h:outputText value="#{r+1}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="图书编号"/>
</f:facet>
<h:outputText value="#{b.bookId}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="图书名"/>
</f:facet>
<h:outputText value="#{b.bookName}"/>
<rich:tooltip>
<h:graphicImage name="#{b.imageFile}" height="100" width="100"></h:graphicImage>
</rich:tooltip>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="作者"/>
</f:facet>
<h:outputText value="#{b.author}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="出版社"/>
</f:facet>
<h:outputText value="#{b.publisher}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="出版日期"/>
</f:facet>
<h:outputText value="#{b.publishingTime}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="价格"/>
</f:facet>
<h:outputText value="#{b.price}"/>
</rich:column>
<f:facet name="footer">
<rich:dataScroller page="3" maxPages="5">
<f:facet name="first">
<h:outputText value="首页"/>
</f:facet>
<f:facet name="last">
<h:outputText value="末页"/>
</f:facet>
<f:facet name=""></f:facet>
</rich:dataScroller>
</f:facet>
</rich:dataTable>



private DataModel<Book> books;
  public DataModel<Book> getBooks() {
if(books==null){
books=new ListDataModel<Book>();
books.setWrappedData(new BookDao().findAll());
}
return books;
}
public void setBooks(DataModel<Book> books) {
this.books = books;
}

------解决方案--------------------
哥们,你这方法错误了,图片是相对于WEB路径的,不是想对于物理路径的,D://**/**.jps这样的如果包含中文的话,在网页上是取不到的,你应该获取web路径:比如:web跟路径是这样的:http://localhost/,然后你用这个路径再加上你的图片路径,类似这样:http://localhost/+你的图片路径,这样就行了。
------解决方案--------------------
你加我QQ,我告诉你怎么写吧,这个在这上面一下也说不清楚的~!