- PR -

Struts validatorを宣言すると途中で表示が切れる

1
投稿者投稿内容
aki
会議室デビュー日: 2005/03/28
投稿数: 4
投稿日時: 2006-06-19 18:57
Struts初心者です。
現在、簡単なログインフォームをJSPで作成し、IDとパスワードをvalidatorで入力チェックしようとしています。
しかし、いざ画面を表示してソースをみると、必要のないJavaScriptのチェックメソッドまで出力され、しかも中途半端なところで切れてしまっています。。
struts-config.xmlにValidatorPlugInの記述もありますし、validation.xmlにフォームの記述もあります。
抜粋ですが、ソースは以下のようになっています。
どなたか、原因や解決策がわかる方がいたら御教示ください。
よろしくお願いします。

【現象】
画面を表示し、右クリックからソースを表示

------------------------------------------------------------
<html lang="ja">
<head>
<title>title</title>
<link rel="stylesheet" href="aaa.css" type="text/css">
<script type="text/javascript">
function aa(){
処理
}
</script>
</head>
<body>
<br><br>
<img src="bb.gif" >
<!--ここからがvalidatorのJavaScript -->
<script type="text/javascript" language="Javascript1.1">

<!--Begin
var bCancel = false;

function validateLoginActionForm(form) {
〜〜〜
}

function validateFloatRange(form) {
〜〜〜
}

function 〜〜 {
}




function validateMask(form) {
var Valid = true;
var focusField = null;
var i = 0;
var fields = new Array();
var formName = form.getAttributeNode("name");

oMasked = eval('new ' + formName.value + '_mask()');
for (x in oMasked) {
var field = form[oMas

-------------------------------------------------------------------

ここまで表示されてfunctionの続きも残りのhtmlもなにも表示されません。。

【環境】
Struts 1.2.9
Tomcat4.1.12
JDK1.4.11

JSP
-------------------------------------------------------------
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html:html locale="true">
<head>
<title><bean:message key="login.title"/></title>
<link rel="stylesheet" href="aaa.css" type="text/css">
<script type="text/javascript">
function aa(){
処理
}
</script>
</head>
<body>
<br><br>
<html:img src="bb.gif" >
<html:javascript formName="loginActionForm" />
<html:form action"/validate" method="POST" onsubmit="return loginActionForm(this);">
<table>
<tr>
<td><html:text property="id" /></td>
<td><html:password property="pass"/></td>
</tr>
</tabale>
</html:form>
</body>
</html:html>

aki
会議室デビュー日: 2005/03/28
投稿数: 4
投稿日時: 2006-06-19 19:00
すいません。JDKのバージョンは1.4.2_11です。
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2006-06-20 12:37
途中で切れた部分以降で使用しているタグリブなどでエラーが発生している際に同じような現象になった覚えがあります。
aki
会議室デビュー日: 2005/03/28
投稿数: 4
投稿日時: 2006-06-20 20:56
ご意見ありがとうございます。
タグリブを最小限(html:htmlや入力テキストのみ)にしましたが、やはり発生してしまいます。

さらに、
<html:javascript formName="loginActionForm" />
<html:form action="/validate" method="POST" onsubmit="return loginActionForm(this);">
この部分をコメントアウトし、
<html:form action="/validate" method="POST">
とするとその他のエラーは何も発生しないのでタグ自体は問題ないかと思っております。
最悪、自分でjavascript関数を定義して対応しますが、せっかくの機能なのにもったいないなと思いまして。。。
ina
ベテラン
会議室デビュー日: 2005/04/14
投稿数: 58
投稿日時: 2006-06-20 21:07
<html:form action="/validate" method="POST" onsubmit="return oginActionForm(this);">
を、
<html:form action="/validate" method="POST" onsubmit="return validateLoginActionForm(this);">
に修正してみたらどうですか?

※これで上手くいくかは分かりませんが...
abc
会議室デビュー日: 2006/09/26
投稿数: 1
投稿日時: 2006-09-26 17:11
以下のException情報を確認すれば分かると思います。

} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
}
1

スキルアップ/キャリアアップ(JOB@IT)