hanhanleon887285 2011-11-23 20:31
浏览 160
已采纳

Struts2 自带的例子Struts2-blank 学习三问

我的Struts版本是:Struts2.2.3.1。 把它自身带的例子都导入到了Eclipse中。

 

 

在其自带的例子Struts2-blank中,

Package.properties 文件中包含:  requiredstring = ${getText(fieldName)} is required.

我的理解如下:

${getText(fieldName)}是一个OGNL表达式。getText是ActionSupport的方法。

问题一:

请问 fieldName是什么,怎么理解?可以向上追溯到哪里?为什么必须写成fieldName,不能写成Foo?

 

在example.xml文件中有如下配置:

<action name="Login_*" method="{1}" class="example.Login">

            <result name="input">/example/Login.jsp</result>

            <result type="redirectAction">Menu</result>

</action>

在login.jsp文件中的form定义如下:

<s:form action="Login">

    <s:textfield key="username"/>

    <s:password key="password" />

    <s:submit/>

</s:form>

 

如果我填写的信息不完整,点击确定提交以后,这个form提交给了Login.action。

如果我填写的信息完整,则会转到Menu.action。

问题二:

请问,配置文件中分明配置的是Login_*,那么login.jsp文件form的目的地Login怎么能够匹配过去呢?分明有一个下划线不匹配啊?

另外,Login.java中,没有定义execute意外的方法,那么,配置文件中用通配符配置action,还有什么意义吗?如在本例中,jsp页面没有明确指定method,那么struts框架会自动调用execute方法吗?

 

在eclipse中,Login-validation.xml会出现

The file cannot be validated as the host "www.opensymphony.com" is currently unreachable.

这样的waring。

原因在于Login-validation.xml中有这样一句

<!DOCTYPE validators PUBLIC

        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"

        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

问题三:

请问如何能够避免出现这样的提示信息?能用xwork-core-2.2.3.1.jar中的xwork-validator-1.0.2.dtd来替换掉吗?如果能,如何替换?

  • 写回答

2条回答 默认 最新

  • yanjinke 2011-11-24 19:35
    关注

    [quote]对于问题一,请问fieldName是否是保留字??

    对于问题二,您可能还没有看太仔细题目,在JSP页面中指定的action是action="Login" 而非action="Login_",所以我认为匹配不过去,但是实际上程序运行的时候是匹配过去了,呵呵,我搞不明白。 [/quote]

    fieldName 是关键字

    问题二中,,Login_* Login是 LoginAction.java, *是LoginAction.java 中的方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记