Почему мой jsp struts2 sx: textarea отображает только как горизонтальную полосу вместо ожидаемого поля ввода? - PullRequest
0 голосов
/ 11 ноября 2010

Я начал пытаться следовать этому руководству, чтобы создать Rich Text Editor .

Я быстро понял, что учебник устарел, и мне нужно было использовать struts2-dojo-plugin.

Мой JSP теперь выглядит так:

<%@ 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>

Когда я иду на рендеринг этой страницы, вместо нужного редактора форматированного текста или даже любого элемента текстовой области, я получаю только небольшую горизонтальную полосу.

Это соответствующий CSS:

// /assets/css/main.css
#pasteTextInput
{
    background-color: #fcfcfc; 
    border: 1px solid #a0a0a0;
    min-height: 500px;
    max-height: inherit;
}

и это HTML-код, созданный сервером:

<!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>

Есть ли что-то еще, что мне нужно сделать, чтобы это работало?

Я видел на это руководство по обновлению со стояков 2.0 до распорок 2.1 кое-что о добавлении зависимостей, но я не мог понять, где это добавить. (Что бы это ни стоило, я НЕ использую Maven.)

1 Ответ

0 голосов
/ 11 ноября 2010

Я понял: он делает это, потому что я использую Chrome.

Он отображается очень по-разному в разных браузерах и значительно эффективнее в Firefox и Internet Explorer.

Похоже, что это действительно плохое решение для текстового редактора WYSIWYG.

Решение Кена кажется намного лучше.

...