如下面这段代码:
<td width = "30%" align="center">
<%/* pseudo code:
* get the lastUpdated sub-article of anGoal,called sub-article as:subArt;
* if (subArt is a goal)
* display:Goal:subArt.getArticleName();
* else if (subArt is a diary)
* display:Diary:subArt.getArticleName();
* else {
* if (getTypeIDByID(getParentIDByID(subArt.getArticleID()))==1)
* display:advice for goal:subArt.getArticleName();
* else
* display:advice for diary:subArt.getArticleName();
* }
*/
int goalID = anGoal.getArticleID();
TransContext trans = new TransContext();
ArticleDB myDB = new ArticleDB(trans);
ArticleInfo lastUpdatedArt=myDB.getLastArtByID(goalID, Consts.HTML_FLAG);
int lastArtID=lastUpdatedArt.getArticleID();
String lastArtName=lastUpdatedArt.getArticleName();
String lastAuthorName=lastUpdatedArt.getUserName();
int lastArtTypeID=lastUpdatedArt.getTypeID();
int lastParentID=lastUpdatedArt.getParentID();
if (lastArtTypeID==1){
%>目标:
<html-el:link action="disGoalContentAction.do?goalID=${anGoal.articleID}&naviStr=${requestScope['naviStr']}" target="_blank">
<%= lastArtName %>
</html-el:link><br>
<%= lastAuthorName %><br>
<%
}else if(lastArtTypeID==2){
%>日记:
<a href="disDiaryContentAction.do?searchDiaryID=<%= lastArtID %>&goalID=<%= lastArtID %>&naviStr=<%= request.getAttribute("naviStr") %>" target="_blank">
<%= lastArtName %>
</a><br>
<%= lastAuthorName %><br>
<%
}else {
if (myDB.getArtTypeByID(myDB.getParentIDByID(lastArtID))==1){
%>评论目标:
<html-el:link action="disGoalContentAction.do?goalID=${anGoal.articleID}&naviStr=${requestScope['naviStr']}" target="_blank">
<%= lastArtName %>
</html-el:link><br>
<%= lastAuthorName %><br>
<%
} else {
%>评论日记:
<a href="disDiaryContentAction.do?searchDiaryID=<%= lastParentID %>&goalID=<%= lastParentID %>&naviStr=<%= request.getAttribute("naviStr") %>" target="_blank">
<%= lastArtName %>
</a><br>
<%= lastAuthorName %><br>
<%
}
}
%>
<bean:write name="anGoal" property="lastUpdate" scope="page" filter="false"/>
</td>
怎样用Struts的标签完成呢?搞不懂,尤其是: <a href="disDiaryContentAction.do?searchDiaryID=<%= lastArtID %>&goalID=<%= lastArtID %>&naviStr=<%= request.getAttribute("naviStr") %>" target="_blank">
<%= lastArtName %>
</a><br>
怎么用<html:link/>来完成这个功能呢?
先记在这里,希望知道的朋友提示一下。
我说一下我的想法,
这是举例一个子,不见得正确,
可能还需要littlebat兄自己研究一番才行。
使用<html:link>标签向“*.do”传递多个请求参数时,
可以这样写:
=============================================================================================================
<%
/*
*先将参数设置到一个HashMap中,
*假设这个HashMap对象叫“paramList”
*/
java.util.HashMap map = new java.util.HashMap();
map.put("param1","abc" );
map.put("param2","123" );
map.put("param3",new String[]{"abc","123"} );
pageContext.setAttribute("paramList",map);
%>
<%--作超链接--%>
<html:link page="/disDiaryContentAction.do" name="paramList" target="_blank">
<%= lastArtName %>
</html:link><br>
=============================================================================================================
其中,<html:link>的page属性必须以“/”开始,
name属性指定刚才定义的HashMap对象名。
说得不好,可能有问题,
老兄自己调试一下吧。
谢谢,我会认真研究一下的。