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 有卷积神经网络识别害虫的项目吗
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件