WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespac

WARN Form:308 - No configuration found for the specified action: 'loginProducer.action' in namespac,第1张

警告信息

警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

struts.xml配置信息(部分)

<package name="packageName" extends="struts-default" namespace="/myNameSpace">

<action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

jsp页面配置信息(部分)

<s:form action="/myNameSpace/login.action">

思考:没有在''的namespace中发现指定的action '/myNameSpace/login.action'

答疑:因为配置的struts2标签并未指定namespace属性。所以struts2会默认从根命名空间"/"搜索action串'/myNameSpace/login.action',如果搜索不到将进入默认命名空间''搜索action请求串,在默认命名空间中是肯定找不到我们定义的action的,所以,struts2抛出一个警告信息。

但是为什么我们没有填写namespace,我们的请求也可以正常访问呢?

我们来看一下解析后的html

查看源码得到的html(部分)

<form id="login" onsubmit="return true" action="/srvclink/myNameSpace/login.action" method="post">

我们看到form提交的action串是准确的url请求,action串确实是/srvclin(应用根)/myNameSpace(命名空间)/login.action。

命名空间中找不到action定义,并不意味着这个action真的不存在,只是我们的代码有问题而已。还有一点是我们在jsp页面的action请求中手动的加入了.action后缀。事实上struts2会自动追加.action的,因为我们并没有合法的使用struts2的标签,所以struts2这里并没有给我们追加.action,解析后的代码中存在的.action,完全是我们手动在jsp页面填写的,有疑问的网友可以不手动添加查看html。

我们修改我们的程序代码

jsp页面配置信息(部分)修改后加入namespace属性,修改action属性值为/login.action

<s:form action="/login.action" namespace="/myNameSpace">

请求页面后,大家很失望吧?警告依然存在。但是我们看一下警告信息。

警告信息:

警告: No configuration found for the specified action: '/login.action' in namespace: '/myNameSpace'. Form action defaulting to 'action' attribute's literal value.

没有在'/myNameSpace'的namespace中发现指定的action '/login.action'

毫无疑问,这里的警告和第一次的警告信息截然不同。我们现在存在命名空间,'/myNameSpace'能够被struts2检索到,并不是开始的''。那问题的关键在哪里呢?

在namespace中没有发现指定的action '/login.action' ???

我们来看一下struts.xml中的配置:

struts.xml配置信息(部分)

<package name="packageName" extends="struts-default" namespace="/myNameSpace">

<action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

是的,我们'/myNameSpace'命名空间下,只有action名字为'login'的定义,并没有所谓的 '/login.action' 定义,所以struts2的警告并未错。如果大家对这个抱有怀疑,可以修改action的名字'login'为‘/longin.action’

<action name="/login.action" class="com.jato.srvclink.test.login.LoginAction" method="login">

请求页面时你会发现不在报警告信息,原因很简单。因为在命名空间为'myNameSpace'下确实存在命名为'/login.action'的action。

我们再次修改配置文件

jsp页面配置信息(部分)修改后action属性值为longin

<s:form action="login" namespace="/myNameSpace">

请求页面时,我们发现不再有警告信息了。

如果你有足够细心,我想你应该可以彻底的明白为什么struts2会报警了吧?你也应该明白了使用struts2标签action中添加/线后请求反而报错的原因了。

建立access的数据库news,还有表news,表的字段(id,title),id唯一,输入数据保存,用下面代码可查询,可分页

-----------------------下面保存为search.asp--------------------------

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>文件</title>

</head>

<body bgcolor="#ffffff">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<script>

function btn_ck_bh_Click()

{

var cx = document.form1.cxsj.value

form1.action ="search.asp?cx="+cx

}

</script>

<table border="1" cellspacing="0" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF" width="88%" style="word-break:break-all">

<tr>

<td width="778" align="center" colspan="7">

<form method="POST" name="form1" action=search.asp>

<p>输入搜索内容:<input type="text" name="cxsj" size="20"><input type="submit" value="提交" name="B1" LANGUAGE="javascript" onclick="btn_ck_bh_Click()">

<input type="reset" value="重写" name="B2"></p>

</form>

</td>

</tr>

</table>

<table border="1" cellspacing="0" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF" width="88%" style="word-break:break-all">

<tr>

<td width="8%" align="center"><strong><font color="#0080C0">ID 号</font></strong></td>

<td width="58%" align="center"><strong><font color="#0080C0">标 题</font></strong></td>

<td width="8%" align="center"><strong><font color="#0080C0">修 改</font></strong></td>

<td width="8%" align="center"><strong><font color="#0080C0">删 除</font></strong></td>

</tr>

<%

'数据库查询

'获得搜索内容

cx = request("cx")

dim pageCount

'把page转换成整数

page = cint(request("page"))

set conn=server.createobject("adodb.connection")'

set rs=server.createobject("adodb.recordset")

conn.open "DBQ=" &server.mappath("./news.mdb") &"DefaultDir=DRIVER={Microsoft Access Driver (*.mdb)}"

' 获取产品的名字记录集(从 news表中)

if cx <>"" then

sql = "select * from news where title like '%"&cx&"%' order by id desc"

else

sql ="select * from news order by id desc"

end if

rs.open sql,conn,3,3

'如果没有数据记录

if rs.bof then

errmsg=errmsg+"<br>"+"<li>"+keyword+"没有记录,请返回!!"

response.write errmsg

response.end

end if

' 设置记录集在每页的总行数,也就是 PageSize属性

RS.PageSize=40

'把rs.pageCount转换成整数和page才能作比较

pageCount = cint(rs.pageCount)

' 设置当前的页号( AbsolutePage属性)

if page = 0 then

page =1

end if

RS.AbsolutePage = page

x=1

' 显示当前页中的所有记录( PageSize中设置的行数)

WHILE NOT RS.EOF AND NumRows<RS.PageSize

%>

<tr onmouseover="this.bgColor='#99ccff'" onmouseout="this.bgColor=''">

<td width="8%"><p align="center"><%=rs("id")%></td>

<td width="58%"><a href="view.asp?id=<%=rs("id")%>" target="_blank"><%=rs("title")%></a></td>

<td width="8%" align="center"><a href="edit.asp?id="<%=rs("id")%>>修 改</a></td>

<td width="8%" align="center"><a href="delet.asp?id="<%=rs("id")%>>删 除</a></td>

</tr>

<%RS.MoveNext

NumRows=NumRows+1

WEND%>

<tr onmouseover="this.bgColor='#99ccff'" onmouseout="this.bgColor=''">

<td width="105%" align="center" colspan="6"></td></tr>

<tr>

<td width="105%" align="center" colspan="6">

<p align="center"><FONT color=#333333>共<%=PageCount%>页 第<%=page%>页★

<%if page=1 then%>首页<%end if%>

<%if page>1 then%>

<A HREF="search.asp?page=1&cx=<%=cx%>">首页</A>

<%end if%>★

<%if page>1 then%><A HREF="search.asp?page=<%=page-1%>&cx=<%=cx%>"><%end if%>上一页</a>

<%

dim pagewhere

dim p

p = 1

'把pagewhere转换成整数

'pagewhere = cint(request("pagewhere"))

pagewhere = pageCount

if pagewhere>0 then

for p=1 to pagewhere

if p <>page then%>

<A HREF="search.asp?page=<%=p%>&cx=<%=cx%>"><%=p%></a>

<%end if

if p =page then%>

<%=p%>

<% end if

next

end if%>

<%if page <PageCount then%>

<A HREF="search.asp?page=<%=page+1%>&cx=<%=cx%>">

<%end if %>下一页</A>★

<%if page=PageCount then%>尾页

<%end if%>

<%if page<PageCount then%>

<A HREF="search.asp?page=<%=PageCount%>&cx=<%=cx%>">尾页</A>

<%end if%>

</p></FONT></td></tr><tr>

<td width="105%" align="center" colspan="6">搜索内容:<%=cx%></td>

</tr>

</table></center></div>

</body></html>

<%

rs.close

Set rs=nothing

conn.close

set conn=nothing

%>


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/981189.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-30
下一篇2023-07-30

随机推荐

  • 欧珀莱时光锁和欧莱雅小蜜罐那个补水抗皱好

    欧珀莱时光锁的补水抗皱效果好。1、使用之后效果。欧珀莱时光锁使用之后紧致补水,淡化细纹,紧致干纹黑眼圈。欧莱雅小蜜罐使用之后具有补水的效果。2、价格上。欧珀莱时光锁的价格便宜,具有性价比。欧莱雅小蜜罐的价格昂贵,没有性价比。你好,建议你考虑

    2023-12-14
    23700
  • 婕珞芙和怡丽丝尔哪个好

    婕珞芙护肤品还是很不错的,法国婕珞芙并不是云南产的,而是因为很多原材料源自云南,为了减少成本就在云南建厂。婕珞芙护肤品处于浪漫的首都巴黎,GELL兄弟于1826年创立。婕珞芙护肤品继承了一个世纪的独创性和精湛的工艺融合,已成为享誉世界的品牌

    2023-12-14
    17500
  • chanel山茶花的含义是什么

    香奈儿山茶花logo含义是因为创始人Gabrielle Channel,被《茶花女》舞台剧深深感动。所以Gabrielle Channel将山茶花装饰在她的雪纺裙上。香奈儿的创始人Gabrielle Channel,在13岁那年,就被《茶花

    2023-12-14
    27000
  • 角质层比较薄,有红血丝,今天买了郁美净(儿童舒柔滋润保湿霜)用完之后睡了一个午觉,起来脸红红的,这

    可以使用的,但是要注意已经几点,一:切不可再使用含有任何刺激性成分的外用品,注意防紫外线、果酸类、等因素对肤质的刺激。二:平时注意面部的物理性防护,如:夏天出门打伞冬季戴口罩保暖等措施。三:皮肤要保持清洁,经常用温水洗脸,要保持皮肤吸收充足

    2023-12-14
    18900
  • 繁花养肤,让肌肤更美

    阳光越来越灿烂,夏天越来越近。记得有一句话是愿如夏花之灿烂,花朵绚烂,不只能看,还能护肤。这次想分享主打花朵精萃的护肤产品。分享的产品有: 1欧舒丹蜡菊活颜精华保湿水; 2美素 瑰蜜凝颜娇嫩滋养蜜露; 3双妹雪白晶

    2023-12-14
    17700
  • 您觉得韩国红参蜗牛化妆品怎么样,特效好吗

    很好用哦,我也在用,喂养红参后的蜗牛具有惊人的生命力,其丰富的蜗牛黏液能够加强肌肤的壁垒,促使肌肤细胞再生,迅速改善损肌肤;传达皮肤深处的红参皂苷成分,为皮肤根源的力量,稳固地弥补肌肤所需,进而增强皮肤弹性,使肌肤白皙光滑。好。1、质量好。

    2023-12-14
    22800
  • 护肤品含哪些成分的不可以在白天用

    护肤品对于我们太重要了,护肤品,既是保护皮肤的护肤产品。随着社会经济的不断进步和物质生活的丰富,护肤品,不再是过去只有富人才用的起的东西。护肤品是由一些化学成分和植物添加组成的,其中一些见到阳光会氧化失去作用。含有下面成分的护肤品白天是少用

    2023-12-13
    18600
  • 用了佐丹兰护肤品,眼睛疲劳。犯困

    不要用了,这个品牌是小品牌,最好选择公认的大品牌。每个人的肌肤肤质不同,不同人的肌肤对化妆品的适应不同,使用效果也会不同。在不过敏的前提下,可以试用一个月左右,便可以感知这种化妆品适不适合自己。为了经济起见,过敏测试及前期试用,可以到专柜索

    2023-12-13
    14600
  • 25至30岁适合用哪个牌子的全套护肤品

    不同年龄阶段,当然要用适合的护肤品25-30岁的时候,已经是轻熟肌了 所以要注意肌肤抗衰老以及保湿的诉求 下面推荐些不踩雷的牌子 包你用完后赞不绝口哦黛珂这个

    2023-12-13
    17700

发表评论

登录后才能评论
保存