Java-backed Web Scripts interface utilisateur
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-20-2008 11:09 AM
Bonjour,
Je suis en trains de voir comment fonctionne les Java-backed Web Scripts et j'ai une petite question:
Comment peut-on renvoyer des données au client (web en général) autrement que via:
est-il possible d'utiliser une JSP ou quelque chose d'autre pour la présentation (style comme en FTL/javascript)?
Je passe via le java pour une question de performance…
Merci d'avance.
Michel.
Je suis en trains de voir comment fonctionne les Java-backed Web Scripts et j'ai une petite question:
Comment peut-on renvoyer des données au client (web en général) autrement que via:
res.getWriter().write("les données");
est-il possible d'utiliser une JSP ou quelque chose d'autre pour la présentation (style comme en FTL/javascript)?
Je passe via le java pour une question de performance…
Merci d'avance.
Michel.
Labels:
- Labels:
-
Archive
24 REPLIES 24

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2010 05:53 AM
Bonjour à tous,
Je viens de m'inscrire sur ce forum à l'instant je m'appelle laurent et je découvre alfresco depuis 1 mois à peine. J'ai quelques peines à implémenter mes premiers webscripts alfresco surtout les java backed web scripts.
Pour résumer j'ai le même problème que BertrandF ci dessus sauf que je n'ai pas la ligne <format default="">argument</format> dans mon descripteur xml.
Donc j'ai un fichier compas.post.desc.xml :
J'ai un retour compas.post.html.ftl tout simple :
J'ai ma classe java Compas.java qui implémente la classe DeclarativeWebScript :
Je suis sur que ma déclaration spring est correcte puisque je rentre dans le code de la fonction "setServiceRegistry".
Malgré tout ca, l'exécution du webscript ne rentre pas dans la fonction executeImpl puisque j'ai une erreur freemarker.core.InvalidReferenceException: Expression mess is undefined.
Merci d'avance pour votre aide.
Laurent
Je viens de m'inscrire sur ce forum à l'instant je m'appelle laurent et je découvre alfresco depuis 1 mois à peine. J'ai quelques peines à implémenter mes premiers webscripts alfresco surtout les java backed web scripts.
Pour résumer j'ai le même problème que BertrandF ci dessus sauf que je n'ai pas la ligne <format default="">argument</format> dans mon descripteur xml.
Donc j'ai un fichier compas.post.desc.xml :
<webscript> <shortname>POST compas bean</shortname> <description>Permet de creer une demande</description> <url>/ui/compas/bean/compas</url> <authentication>guest</authentication> <transaction>requiresnew</transaction></webscript>
J'ai un retour compas.post.html.ftl tout simple :
<html> <body> ${mess} </body></html>
J'ai ma classe java Compas.java qui implémente la classe DeclarativeWebScript :
public class Compas extends DeclarativeWebScript { private ServiceRegistry serviceRegistry; @Override protected Map<String, Object> executeImpl(WebScriptRequest req, WebScriptStatus status) { Map<String, Object> model = new HashMap<String, Object>(); model.put("mess", "Traitement java Compas…"); return model; } public void setServiceRegistry(ServiceRegistry serviceRegistry) { this.serviceRegistry =serviceRegistry; }}
Je suis sur que ma déclaration spring est correcte puisque je rentre dans le code de la fonction "setServiceRegistry".
Malgré tout ca, l'exécution du webscript ne rentre pas dans la fonction executeImpl puisque j'ai une erreur freemarker.core.InvalidReferenceException: Expression mess is undefined.
Merci d'avance pour votre aide.
Laurent
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2010 06:07 AM
Bonjour,
Serait-il possible que vous nous montriez votre déclaration spring ainsi que le lieu où se trouve votre webscript (l'arborescence dans alfresco) ?
Cordialement.
Je suis sur que ma déclaration spring est correcte puisque je rentre dans le code de la fonction "setRenodocServiceRegistry".Ce n'est pas par ce que l'injection du service se fait correctement que votre déclaration est correcte, il est possible que "l'association" de votre classe Java avec les fichiers de votre webscript (desc.xml, .ftl, …) ne se fasse pas correctement et ce car la nomination de l'identifiant de votre bean spring est primordiale.
Serait-il possible que vous nous montriez votre déclaration spring ainsi que le lieu où se trouve votre webscript (l'arborescence dans alfresco) ?
Cordialement.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2010 06:18 AM
Merci pour la réponse.
Alors ma déclaration Spring se trouve dans le fichier compas-scripts-context.xml :
Pour résumer le webscript se trouve dans le répertoire alfresco/extension/templates/webscripts/compas/bean
Le descripteur ci dessus dans le répertoire alfresco/extension
Ma classe java dans le package fr.service
Alors ma déclaration Spring se trouve dans le fichier compas-scripts-context.xml :
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'><beans> <!– Add aspect custom action –> <bean id="webscript.alfresco.extension.templates.webscripts.compas.bean.compas.post" class="fr.service.Compas" parent="webscript"> <property name="serviceRegistry"> <ref bean="ServiceRegistry" /> </property> </bean></beans>
Pour résumer le webscript se trouve dans le répertoire alfresco/extension/templates/webscripts/compas/bean
Le descripteur ci dessus dans le répertoire alfresco/extension
Ma classe java dans le package fr.service
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2010 08:02 AM
Pour résumer le webscript se trouve dans le répertoire alfresco/extension/templates/webscripts/compas/bean
Je pense que l'identifiant de votre bean est erroné, essayez avec : webscript.compas.bean.compas.post
<bean id="webscript.compas.bean.compas.post" class="fr.service.Compas" parent="webscript">…</bean>
Cordialement.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2010 08:16 AM
Je te remercie cela venait bien de ca!
Merci encore je vais enfin pouvoir rentrer dans le vif du sujet!
A bientôt!
Laurent
Merci encore je vais enfin pouvoir rentrer dans le vif du sujet!
A bientôt!
Laurent
