- 一月一日:**
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
<forward name="welcome" path="/Welcome.do"/>
</global-forwards>
<action-mappings>
<action path="/Link" parameter="method" type="com.sicmsb.action.LinkAction">
<forward name="search" path="search"/>
</action>
<action path="/Welcome" forward="/welcomeStruts.jsp"/>
</action-mappings>
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
<message-resources parameter="com/vaannila/ApplicationResource"/>
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
</struts-config>
- 一个月一个月:**
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="baseLayout" path="/common-layout.jsp">
<put name="header" value="/header.jsp" />
<put name="body" value="/body.jsp" />
<put name="footer" value="/footer.jsp" />
</definition>
<definition name="search" extends="baseLayout">
<put name="body" value="/searchMyUser.jsp" />
</definition>
</tiles-definitions>
- x一个月两个月一个月:**
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<table border="1" width="100%" height="100%">
<tr>
<td><tiles:insert attribute="header" /></td>
</tr>
<tr>
<td><tiles:insert attribute="body" /></td>
</tr>
<tr>
<td><tiles:insert attribute="footer" /></td>
</tr>
</table>
</body>
</html>
- x一个月三个月一个月:**
<%@page import="com.sicmsb.bean.Comments"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function submitAdd(form) {
form.submit();
}
function goDetail(commentId) {
var myform = document['detForm'];
//myform.action = "/detail.do";
myform['commentId'].value = commentId;
myform.submit();
}
</script>
<style>
A {
text-decoration: underline;
color: blue;
cursor: pointer;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Search here</title>
</head>
<body>
<form name="detForm" action="details.do" method="post">
<input type="hidden" name="commentId" />
</form>
<h1>Search in MyUser</h1>
<form action="SearchUser.do" method="post">
<table cellpadding="3pt">
<tr>
<td>Insert Name : <html:text name="CommentsUpdated"
property="myUser" size="30"></html:text></td>
</tr>
</table>
<p />
<input type="button" value="Search"
onclick="this.disabled=true; submitAdd(this.form)" />
</form>
<hr />
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Webpage</th>
<th>Summary</th>
<th>Comments</th>
</tr>
<logic:iterate id="comment" name="listComments"
type="com.sicmsb.bean.Comments">
<tr>
<td><a onclick="goDetail('<%=comment.getCommentId()%>')"> <bean:write
name="comment" property="myuser" />
</a>
<td>|<bean:write name="comment" property="email" />
<td>|<bean:write name="comment" property="webpage" />
<td>|<bean:write name="comment" property="summary" />
<td>|<bean:write name="comment" property="comments" />
</tr>
</logic:iterate>
</table>
</body>
</html>
- 一米四分一秒:**
package com.sicmsb.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
public class LinkAction extends DispatchAction {
public ActionForward Search(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return mapping.findForward("search");
}
}
我设法创建了模板,并在没有"名称"属性的表单中调用。它工作,然后我意识到我必须调用具有名称属性(CommentsUpdated
)的表单,以便我能够传递从数据库中挖掘数据的变量。不幸的是,它抛出这样的错误:javax.servlet.jsp.JspException: Cannot find bean: "CommentsUpdated" in any scope
.
我知道我的serachMyUser.jsp
中的name属性导致了这个错误,但是我被这个部分卡住了,我试着在google中搜索例子,但是我得到的所有结果都是表单被调用时没有names属性。
2条答案
按热度按时间izkcnapc1#
最后我发现了这个问题,当我在struts-config.xml的活动中输入
name="CommentsUpdated"
后,它工作了!希望这对其他人也有帮助!unguejic2#
如果您没有在操作配置中设置
name
属性(该属性应该与<form-bean>
名称相同),但在标记中使用了名称你当然有例外
找不到Bean:任何范围内的"CommentsUpdated"
Struts会示例化一个form-bean,如果配置了表单bean和动作名称,就会把它传递给动作。如果你想自己示例化它,那么你应该在JSP中访问它之前把它放在任何作用域中。