疑问:不知道在Struts标签中怎么引用jsp片断里的变量

如下面这段代码:

      <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/>来完成这个功能呢?

先记在这里,希望知道的朋友提示一下。

2 thoughts on “疑问:不知道在Struts标签中怎么引用jsp片断里的变量”

  1. 我说一下我的想法,

    这是举例一个子,不见得正确,

    可能还需要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对象名。

    说得不好,可能有问题,

    老兄自己调试一下吧。

Comments are closed.