salut,


mon but est d'avoir comment ouvrit un document depuis mon application

web


mon code jsp est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<div id="pieces" class="baliseDiv">	
		<fieldset style="padding: 5px 10px 5px 10px;">
			<legend align="top">
				<util:message key="operateur.section.pieces.title" />
			</legend>
 
 
			<grid:view name="PieceRattacheList_view">
				<grid:search position="top" align="right" width="200"
					iconClass="icon-zoom" />
				<grid:actionsbar>
					<grid:action id="pieceRattacheList_add" type="button"
						textkey="operateur.list.pieceRattacheList.action.pieceRattacheList_add.title"
						tooltipkey="operateur.list.pieceRattacheList.action.pieceRattacheList_add.description"
						iconClass="icon-form-add" onclick="action_pieceRattacheList_add" />
					<grid:action id="pieceRattacheList_add_Split" type="splitbar" />
				</grid:actionsbar>
				<grid:pagingbar pageSize="10" displayInfo="true">
				</grid:pagingbar>
				<grid:table name="PieceRattacheList_Tab" list="pieceRattacheList"
					titlekey="operateur.list.pieceRattacheList.title"
					formbean="DossierJuridiquePortletBean" recordForm="false"
					clicksToEdit="1" collapsible="true" closable="true" render="true">
 
					<grid:repository id="pieceRattacheList.pieceRattacheList"
					classpath="com.dq.foprodex.web.repository.DossierJuridiqueRepository" />
					<grid:record id="attachementEntity" idProperty="id"
						defaultSortColumn="nomfrPiece" defaultSortDir="ASC"
						title="Enregistrement" columnCount="2"
						iconClass="icon-edit-record"
						recordClass="com.dq.foprodex.web.entity.AttachementEntity"
						windowmodal="false">
						<grid:property name="id" type="String" />
						<grid:property name="idElement" type="String" />
						<grid:property name="idTable" type="String" />
						<grid:property name="idGuid" type="String" />
						<grid:property name="nomfrPiece" type="String" />
						<grid:property name="nomarPiece" type="String" />
						<grid:property name="etat" type="String" />
						<grid:property name="fo" type="String" />
						<grid:property name="df" type="String" />
						<grid:property name="agBack" type="String" />
						<grid:property name="respBack" type="String" />
						<grid:property name="pdg" type="String" />
						<grid:property name="idType" type="String" />
						<grid:property name="libType" type="String" />
						<grid:property name="respRattach" type="String" />
						<grid:property name="dateRattach" type="String" />
						<grid:property name="nbreRappel" type="Integer" />
						<grid:property name="dateDernRappel" type="String" />
						<grid:property name="dateDemComp" type="String" />
						<grid:property name="dateDepotComp" type="String" />
						<grid:property name="idAvis" type="String" />
						<grid:property name="libAvis" type="String" />
						<grid:property name="comm" type="String" />
						<grid:property name="app" type="String" />
						<grid:property name="dateApp" type="String" />
						<grid:property name="avisColumn" type="String" />
						<grid:property name="motif" type="String" />
						<grid:property name="rattachement" type="String" />
						<grid:property name="actiondocumentdiffuser" type="String" />
						<grid:property name="form" />
					</grid:record>
 
					<grid:column property="nomfrPiece"
						titlekey="operateur.list.pieceRattacheList.column.nomfrPiece.title"
						sortable="true" resizable="true" menuDisabled="false" width="20">
					</grid:column>
					<grid:column property="rattachement"
						titlekey="operateur.list.pieceRattacheList.column.rattachement.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="respRattach"
						titlekey="operateur.list.pieceRattacheList.column.respRattach.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="dateRattach"
						titlekey="operateur.list.pieceRattacheList.column.dateRattach.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="nbreRappel"
						titlekey="operateur.list.pieceRattacheList.column.nbreRappel.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="dateDernRappel"
						titlekey="operateur.list.pieceRattacheList.column.dateDernRappel.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="etat"
						titlekey="operateur.list.pieceRattacheList.column.etat.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
					<grid:column property="comm"
						titlekey="operateur.list.pieceRattacheList.column.comm.title"
						sortable="true" resizable="true" menuDisabled="false" width="40">
					</grid:column>
 
 
					<grid:column property="rowaction2" width="5">
						<grid:rowaction id="piece"
							tooltipkey="operateur.list.pieceRattacheList.action.pieceRattacheList_update1.title"
							iconClass="icon-form-key1"
							onclick="action_consultDoc"/>
 
					</grid:column>
				</grid:table>
			</grid:view>
 
			<br>
 
 
		</fieldset>
	</div>
 
<script type="text/javascript">
 
function action_consultDoc(grid, record, row, col) {
        operateurService.consultDocService(Ext.getCmp('userId').getValue(),record.get('id'), {
                callback : function(responseEntity) {
                
                }
        });
}
</script>




code java :

la fonction consultDocService dans operationService est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
  public void consultDoc(String userid, String id) {
        DossierJuridiqueManager dossierJuridiqueManager = (DossierJuridiqueManager) PortalUtil.getBean(DossierJuridiqueManager.managerid);
 
        try {
        	dossierJuridiqueManager.consultDoc(null,null, userid, id);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

la fonction consultDoc dans dossierJuridiqueManager est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 public ResponseEntity consultDoc(HttpServletRequest request, HttpServletResponse response,String userid,
        String id) throws Exception {
    	System.out.println("the ids"+id);
    	 List<AttachementEntity> attachements = attachementDAO.getAttachementList(id);
    	 AttachementEntity attachementEntity=new AttachementEntity();
    	 attachementEntity=attachements.get(0);
    	 String guid=attachementEntity.getIdGuid();
 
 
    	   P8Connector connector = new P8Connector(TypeEnum.CE.value(),
                   "gcd admin","C:/properties/");
           System.out.println("verif " + connector.getConnection());
 
         GetDocumentsListInFolder getDocumentsListInFolder = new GetDocumentsListInFolder();
         List<Document> list = new ArrayList<Document>();
 
         list = getDocumentsListInFolder.execute(connector,
                 "/chemin", "1");
 
 
              int length = 0;
              ServletOutputStream op = response.getOutputStream();
 
 
        for (int i = 0; i < list.size(); i++) {
            Document doc = (Document) list.get(i);
 
 
         String h=doc.get_Id().toString();
            if(h.equals(guid))
            {	
 
      GetDocumentContent c = new GetDocumentContent();
 
           byte[] is1 = c.execute(connector, doc);
 
      byte[] bbuf = new byte[1024];
      InputStream is3 = new ByteArrayInputStream(is1);
      DataInputStream in = new DataInputStream(is3);
 
      while ((in != null) && ((length = in.read(bbuf)) != -1)) {
          op.write(bbuf, 0, length);
      }
 
      in.close();
      op.flush();
      op.close();
 
 
            }
 
        }
 
        return new ResponseEntity();
    }


mais lors de test j'ai l'erreur suivate :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
java.lang.NullPointerException
	at com.dq.foprodex.web.manager.impl.DossierJuridiqueManagerImpl.consultDoc(DossierJuridiqueManagerImpl.java:2195)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

l'erreur lié à cette ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
              ServletOutputStream op = response.getOutputStream();

en faite response est null grace à ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
   	dossierJuridiqueManager.consultDoc(null,null, userid, id);


mais je n'arrive pas à savoir comment remplir response


je pense que je dois le remplir dans la page jsp



merci d'avance