如何使Struts和Prototype更好地协同工作?

时间:2009-02-03 02:56:19

标签: prototypejs struts

原型库使用$('element-id')$F('element-id')来获取表单元素的元素或值。这在javascript中编码非常方便。但是在Struts中,我发现没有办法为表单元素定义id属性。

虽然我可以使用

<html:xhtml/>

定义具有id属性的表单标记,如下所示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<html:xhtml/> 

<html:form action="/Welcome">
...
<html:text property="username" size="16" maxlength="18"/>
...
</html:form>

上面呈现的html是这样的:

<form id="TestForm" method="post" action="/myapp/Welcome.do">
...
<input type="text" name="username" size="16" maxlength="18"/>
...
</form>

但我需要的是让struts渲染

<html:text> 
像这样的

标签:

<input type="text" id="username" name="username" size="16" maxlength="18"/>

Struts有可能意识到这一点吗?或者如果没有,我怎样才能更好地在Struts应用程序的Prototype lib中编写代码?

我正在使用Struts 1.3.8;原型1.5.1。

1 个答案:

答案 0 :(得分:4)

您可以在大多数Struts小部件上使用 styleId 属性来设置HTML元素ID:

<html:text styleId="myId" .../>

呈现为

<input type="text" id="myId" .../>