J'ai commencé à essayer de suivre ce tutoriel pour créer un Rich Text Editor. J'ai rapidement réalisé que le tutoriel était obsolète et que j'avais besoin d'utiliser le plugin struts2-dojo.Pourquoi mon jsp struts2 sx: textarea est-il seulement affiché comme une barre horizontale au lieu du champ de saisie attendu?
Mon JSP ressemble maintenant à ceci:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagination Example</title>
<sx:head parseContent="true"/>
<link href="<s:url value="/assets/css/main.css"/>" rel="stylesheet" type="text/css"/>
</head>
<body>
<s:form>
<sx:textarea id="pasteTextInput" name="text" label="Paste your text here" cols="50" rows="50" />
</s:form>
</body>
</html>
Quand je vais à rendre cette page, au lieu de l'éditeur de texte enrichi désiré, ou même tout élément de zone de texte, tout ce que je reçois est un petit bar horizontal.
Ceci est la CSS pertinente:
// /assets/css/main.css
#pasteTextInput
{
background-color: #fcfcfc;
border: 1px solid #a0a0a0;
min-height: 500px;
max-height: inherit;
}
ce qui est le code HTML qui est créé par le serveur:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagination Example</title>
<script language="JavaScript" type="text/javascript">
// Dojo configuration
djConfig = {
isDebug: false,
bindEncoding: "UTF-8"
,baseRelativePath: "/OverviewOfStruts/struts/dojo/"
,baseScriptUri: "/OverviewOfStruts/struts/dojo/"
,parseWidgets : true
};
</script>
<script language="JavaScript" type="text/javascript"
src="/OverviewOfStruts/struts/dojo/struts_dojo.js"></script>
<script language="JavaScript" type="text/javascript"
src="/OverviewOfStruts/struts/ajax/dojoRequire.js"></script>
<link rel="stylesheet" href="/OverviewOfStruts/struts/xhtml/styles.css" type="text/css"/>
<script language="JavaScript" src="/OverviewOfStruts/struts/utils.js" type="text/javascript"></script>
<script language="JavaScript" src="/OverviewOfStruts/struts/xhtml/validation.js" type="text/javascript"></script>
<script language="JavaScript" src="/OverviewOfStruts/struts/css_xhtml/validation.js" type="text/javascript"></script>
<link href="/OverviewOfStruts/assets/css/main.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<form id="paginationExample" name="paginationExample" action="/OverviewOfStruts/paginationExample.action" method="post">
<table class="wwFormTable">
<textarea dojoType="Editor2"
items="linkGroup;|;textGroup;|;justifyGroup;|;listGroup;|;indentGroup;|;colorGroup"
name="text" cols="50" rows="50" id="pasteTextInput"></textarea>
</table></form>
</body>
</html>
Y at-il autre chose que je dois faire pour que cela fonctionne?
J'ai vu sur this guide to updating from struts 2.0 to struts 2.1 quelque chose sur l'ajout de dépendances, mais je ne pouvais pas savoir où l'ajouter. (Quelle qu'en soit sa valeur, je suis pas en utilisant Maven.)
Quelle version de Dojo utilisez-vous? Je demande parce que certaines des propriétés de 'djConfig' ressemblent à des propriétés qui n'ont pas existé dans' djConfig' depuis 4 ans (depuis avant Dojo 1.0). Il est tout à fait possible que ce ne soit même pas en train d'analyser votre zone de texte dans un widget. Pourquoi ne pas commencer ici? http://docs.dojocampus.org/dijit/Editor –
@Ken - J'ai struts2-dojo-plugin-2.2.1.jar ... D'après ce que je peux voir dans le HTML ci-dessus, ça ressemble à la sx : textarea dans la JSP devient la textarea dans le HTML ... mais je ne vois pas pourquoi seulement une ligne horizontale est affichée. Je vais vérifier ce lien, applaudissements! –