Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为Struts2中的不同动作方法更改窗体的动作属性_Java_Jsp_Url_Struts2_Ognl - Fatal编程技术网

Java 为Struts2中的不同动作方法更改窗体的动作属性

Java 为Struts2中的不同动作方法更改窗体的动作属性,java,jsp,url,struts2,ognl,Java,Jsp,Url,Struts2,Ognl,我已经在JSP页面名add.JSP中创建了一个from来保存如下数据 <s:form action="AddDomain"> <s:push value="idp"> <s:textfield name="domainName" label="Domain Name" /> <s:textfield name="url" label="Domain URL" />

我已经在JSP页面名
add.JSP
中创建了一个from来保存如下数据

<s:form action="AddDomain">
            <s:push value="idp">
                <s:textfield name="domainName" label="Domain Name" />
                <s:textfield name="url" label="Domain URL" />
                <s:textfield name="noOfLicense" label="License Purchased" />
                <s:textfield name="licenseExpireDate" label="License Expire Date" title="YYYY-MM-DD like 2013-01-21" /> 
                <s:textfield name="userActiveDuration" label="Active User Duration"
                    title="please mention in days" />
                <s:textarea cols="30" rows="5" name="notes" label="Note"></s:textarea>
                <s:submit value="Add"></s:submit>
            </s:push>
        </s:form>
我已经创建了另一个页面,列出了所有域,并提供了编辑任何域的编辑链接。当使用“单击编辑URL”时,将调用此操作

public String loadDomain() {

    HttpServletRequest request = ServletActionContext.getRequest();
    String url = request.getParameter("durl");
    IDPBroker broker = new IDPBroker();
    idp = broker.getDomainByURL(url);
    return ActionSupport.SUCCESS;
}
成功完成操作后,我将显示
add.jsp
页面。Struts在JSP页面中填充数据


现在,问题是我想更改表单标记的action属性的值。我还想将提交按钮的
值更改为“编辑”。我计划在
action
类中创建一些私有
属性(action,Label)
,当调用
addDomainPage
操作时,我将更改这些属性相对于添加页面的值。类似于
loadDomain
操作。现在我不知道怎么做,这意味着如何在视图中使用这些私有属性。告诉我我做得是否正确以及下一步要做什么?

同一个action类可以用于映射提交按钮上的不同方法。像

<s:submit value="Add" method="addDomainPage" />
<s:submit value="Load" method="loadDomain" />

谢谢你的工作。我还有一个问题,我对%{}和${}表达式有点困惑。我只是想知道我使用哪一个用于哪一个目的。%%{}用于OGNL表达式(不总是必需的),${}用于JSP EL表达式(不用于struts标记的属性)。从您的回答中,我理解%{}是在我们需要在操作中定义的属性值时使用的。我说得对吗?该操作放在
valueStack
top
上,因此可以通过OGNL访问属性。
<s:submit value="Add" method="addDomainPage" />
<s:submit value="Load" method="loadDomain" />
public String getAction(){
  return "AddDomain";
}  

<s:form action="%{action}">