我可以使用jsp中使用struts标记的链接替换java文件中的变量

时间:2016-08-04 19:33:42

标签: jsp struts2

我有一个字符串,它在struts动作类中设置如下:

Template.item.helpers({
isComplete: function () {// Set class according to status
    return this.checked ? 'complete' : '';
},
isChecked: function () {
    return this.checked ? 'checked' : false;
},
isPriority: function(){
    return this.priority;
}

我想把这个字符串放在我的jsp页面中,以便用实际的超链接替换子字符串,当用户点击该URL时,它会进入登录页面。

我可以在我的jsp页面中使用public class myAction extends ActionSupport { public String execute() throws Exception { String sub= "login/signup"; String str="Click to redirect to" +sub+"to access site features"; } 标记嵌入网址并将其链接到子变量,但是如何将网址放在字符串中以便在我的网页上显示以下文字:

s:url

请注意我的屏幕消息来自后端java文件,无法在jsp文件中进行硬编码。

1 个答案:

答案 0 :(得分:1)

首先,在你的动作类中,你必须采用两个不同的变量;一个用于 hyperLink ,将在标记中使用;第二个 linkString ,用于显示超链接的文本。请关注我的代码:

行动类

public class myAction extends ActionSupport {

   private String hyperLink;
   private String linkString;

   // getters and setters

   public String execute() throws Exception {
      this.setLinkString("login/signup");
      this.setHyperLink("testloginpage.html");
      return "success";
   }

}

然后在您的 struts.xml 中,您必须编写动作映射:

<强> struts.xml中

<action name="yourAction" class="myAction" method="execute">
     <result name="success">/YourJSPPage.jsp</result>
</action>

现在要显示超链接以及字符串,请在页面中写下以下代码:

JSP页面

<p>
   Click to redirect to 
   <a href="<s:text name='hyperLink'/>">
      <s:text name="linkString"/>
   </a> to access site features
</p>