The code is also from this link. It works if filename and content type is hard coded. (See my email from yesterday). But at runtime I can not view other file.
-----Ursprüngliche Nachricht----- Von: Ernesto Reinaldo Barreiro [mailto:[email protected]] Gesendet: Donnerstag, 11. November 2010 09:29 An: [email protected] Betreff: Re: panel can not be refreshed The approach described in [1] used to work for me some time ago. Regards, Ernesto 1-https://cwiki.apache.org/WICKET/displaying-content-eg-pdf-excel-word-in-an-iframe.html On Thu, Nov 11, 2010 at 9:19 AM, <[email protected]> wrote: > Can someone help me? > When the constructor DocEditPage is called, the variables file, file name and > content type are null. These variables set to be later. But the panel is not > refreshed. > > -----Ursprüngliche Nachricht----- > Von: Kaplankiran, Mehmet > Gesendet: Mittwoch, 10. November 2010 13:09 > An: [email protected] > Betreff: panel can not be refreshed > > Hello, > > I have implemented iframe and can view documents. Unfortunately, only in the > class MyPdfResource hard-coded filename (example: private string filename = > "test.pdf";) can be displayed. > The files can not be refreshed. I hope someone can help me. > > greetings, Mehmet > > HTML: > <div wicket:id="mypdf" border="1" width="900px" height="400px"></div> > > ++++++++++++++++++++++++++++++ class DocEditPage > ++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++ ++++++++++++ > public class DocEditPage extends MainTemplate { > > private byte[] file; > private String fileName; > private String contentType; > > ... > public DocEditPage(PageParameters params) > { > ... > add(renderFileContent("mypdf")); > } > ... > > private MyPdfPanel renderFileContent(String id) > { > return new MyPdfPanel(id, getRenderFileContentModel(), > getContentTypeModel(), getFileNameModel); > } > ... > private IModel getRenderFileContentModel() > { > > return new AbstractReadOnlyModel() > { > �...@override > public Object getObject() > { > return file; > } > }; > } > > private IModel getContentTypeModel() > { > return new AbstractReadOnlyModel() > { > �...@override > public Object getObject() > { > return contentType; > } > }; > } > > private IModel getFileNameModel() > { > return new AbstractReadOnlyModel() > { > �...@override > public Object getObject() > { > return fileName; > } > }; > } > > ... > > private DISTree disTree(String id) > { > return new DISTree(id) > { > �...@override > public void selectNode(AjaxRequestTarget > target, DISTreeNode node) > { > //set file and contentType; > ... > DocEditPage.this.contentType = > content.getContentType(); > DocEditPage.this.file = > content.getOrbLk(); > } > } > } > > } > > ++++++++++++++++++++++++++++++ class MyPdfPanel > ++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++ ++++++++++++ > public class MyPdfPanel extends Panel > { > > public MyPdfPanel(String id, IModel fileContentModel, IModel > fileNameModel, IModel contentTypeModel) > { > //super(id, fileContentModel); > super(id); > > file = (byte[]) fileContentModel.getObject(); > String fileName = (String) fileNameModel.getObject(); > String contentType = (String) > contentTypeModel.getObject(); > setRenderBodyOnly(true); > add(new DocumentInlineFrame("mypdf", new > MyPdfResource(file, contentType, fileName))); > } > > } > > ++++++++++++++++++++++++++++++ class MyPdfResource > ++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++ ++++++++++++ > public class MyPdfResource extends DynamicWebResource { > private static final long serialVersionUID = 1L; ... > private byte[] file; > private String contentType = "application/pdf"; > private String fileName = "test.pdf"; ... > public MyPdfResource(byte[] file, String contenttype, String > filename) > { > if (file != null) > this.file = file; > if (contenttype != null && > !"".equalsIgnoreCase(contenttype)) > contentType = contenttype; > if (filename != null && !"".equalsIgnoreCase(filename)) > fileName = filename; > } > ... > } > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
