求大神告诉下,action="Add"写在form里和写在 submit里有什么区别吗?

求大神告诉下,action="Add"写在form里和写在 submit里有什么区别吗?submit里的name不写可以吗?为什么?最后div...div里的class和另外三个都是什么意思?求求大神可怜可怜我这个新手吧,详细告知下

<s:form action="Add" id="form1" theme="simple" >
    <div class="buttonDiv">
        <s:submit theme="simple" name="Add" value="添加" cssClass="button_style" />
        顺序:<input type="text" name="shunXu" size="15%">

        <s:submit theme="simple" name="List" action="List" value="查询" cssClass="button_style" />

    </div>
    <div class="validatemsg">
        <s:actionerror/>
        <s:fielderror/>
        <s:actionmessage/>
    </div>``




区别太多,首先action='add'说明struts2配置文件里有一个action的name为add,此时点击提交按钮会转到此action
其次,submit中写onclick可以通过jQuery的ajax方法,提交到name为add的action。
两者最终实现结果相同,但onclick中要在路径里指明参数,form提交大可不必指明。

submit的name可以不写,起名字可以使js找到它(formName.submitName),不起名字可以通过id找到它,最终实现结果一样。

class类样式,描述div使用css中的validatemsg样式,你可以在这里找到validatemsg。

哎呦写这么多好累、
actionerror和fielderror是action中抛出的异常信息。
actionmessage是action中model模型的message属性值。

没啥大区别,一个是表单提交,一个ajax提交。