No configuration found for the specified action解决办法

本文详细解析了使用Struts2框架时遇到的s:form标签警告问题,介绍了如何通过正确配置namespace和action来解决该问题。

使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s:form>标记时,发现控制台总是输出警告信息, 

警告信息内容如下: 

警告: No configuration found for the specified action: 'ShowMessage' in namespace: ''. Form action defaulting to 'action' attribute's literal value. 
2008-9-6 11:35:47 org.apache.struts2.components.Form evaluateExtraParamsServletRequest 
警告: No configuration found for the specified action: 'ShowMessage' in namespace: ''. Form action defaulting to 'action' attribute's literal value. 

showmsg.jsp代码如下 

<%@ taglib prefix="s" uri="/struts-tags" %> 
...... 
<div> 
hello world 
<s:form name="ShowMessage" method="post" action="/hello/ShowMessage.action" > 
<s:textfield label="user name" name="username"></s:textfield> 
<s:submit></s:submit> 
</s:form> 
</div> 
...... 

struts.xml配置如下: 
...... 
<struts> 
<package name="hello" extends="struts-default" namespace="/hello"> 
<action name="ShowMessage" class="com.historycreator.strutstest.ShowMessage"> 
<result>/digg/showmsg.jsp</result> 
</action> 
</package> 
</struts> 

打开showmsg.jsp页面时,就出现上述异常。尝试了各种配置和访问方法,均出现警告。搜索网络给出的答案几乎都说把<s:form name="ShowMessage" method="post" action="/hello/ShowMessage.action" >中的.action去掉就可以解决了,做了测试,问题仍然没有解决。更有人让把<s:去掉,不用tag,直接写<form>这个当然不会有问题,但是一会用标记,一会不用,很杂乱,并且不是解决问题的根本之道。 

解决方法: 
经过测试发现,是没有正确使用tag的原因,这种情况下,正确的写法应该是,<s:form name="ShowMessage" method="post" action="ShowMessage" namespace="/hello" > 


原因分析: 

因为开始使用的struts2标签(form)并未指定namespace属性。所以struts2会默认从根命名空间"/" 搜索action '/hello/ShowMessage.action',如搜索不到则进入默认命名空间''搜索action串,在默认命名空间中是肯定找不到自己定义的action的,所以,struts2抛出一个警告信息。 

现在我们指定了namespace为/hello,则struts2会直接在/hello命名空间寻找。可以想象,如果在这么命名空间里找不到请求的action,也会抛出一条类似的信息。 

注意,<s:form name="ShowMessage" method="post" action="ShowMessage" namespace="/hello" > 
不能写成<s:form name="ShowMessage" method="post" action="ShowMessage.action" namespace="/hello" > 

这样仍然有对应的警告信息,并且提交后出现无法访问的结果。因为没有ShowMessage.action这样一个action,这个.action不能由我们手工添加,Struts2会自动为你完成这个工作,并且手工添加是不行的,就不必多此一举了。但是在其他的场合,比如使用超级链结,则可以加上这个.action。

API Description Packet Analyzer Manager APIs cpssDxChPacketAnalyzerManagerCreate Creates a Packet Analyzer Manager cpssDxChPacketAnalyzerManagerDelete Deletes a Packet Analyzer Manager cpssDxChPacketAnalyzerManagerDeviceAdd Associate a device with a Packet Analyzer Manager cpssDxChPacketAnalyzerManagerDeviceRemove Disassociate a device with a Packet Analyzer Manager cpssDxChPacketAnalyzerManagerEnableSet Enables/Disables Packet Analyzer for the device associated with the PA Manager. Following creation, enabling is required to activate the PA Manager cpssDxChPacketAnalyzerManagerDevicesGet Obtains the device managed by a PA Manager, and whether the PM Manager is enabled for the device cpssDxChPacketAnalyzerManagerResetToDefaults Resets a Packet Analyzer manager configuration to default settings. Deletes all keys, rules, and groups; actions are not deleted Field and Key APIs cpssDxChPacketAnalyzerFieldSizeGet Gets field length, in bits cpssDxChPacketAnalyzerLogicalKeyCreate Creates a key with lists of stages and fields. It is possible to create a key with no fields, which results in sampling of the interface with no filtering cpssDxChPacketAnalyzerLogicalKeyDelete Deletes a key cpssDxChPacketAnalyzerLogicalKeyFieldsAdd Adds fields to field list of an existing key cpssDxChPacketAnalyzerLogicalKeyFieldsRemove Removes fields from field list of a key cpssDxChPacketAnalyzerLogicalKeyInfoGet Gets name and field assignment mode of a key cpssDxChPacketAnalyzerLogicalKeyStagesGet Gets Stage list of a key cpssDxChPacketAnalyzerLogicalKeyFieldsPerStageGet Gets list of fields per Stage included in a key cpssDxChPacketAnalyzerUserDefinedFieldAdd Adds a new User Defined field cpssDxChPacketAnalyzerUserDefinedFieldDelete Deletes a User Defined field cpssDxChPacketAnalyzerUserDefinedFieldGet Obtains attributes of User Defined field with the specified name cpssDxChPacketAnalyzerUserDefinedFieldInfoGet Obtains attributes of User Defined Field with enumerated name Action APIs cpssDxChPacketAnalyzerActionCreate Creates an action cpssDxChPacketAnalyzerActionUpdate Updates an action attributes cpssDxChPacketAnalyzerActionDelete Deletes an action cpssDxChPacketAnalyzerActionGet Gets an action configuration cpssDxChPacketAnalyzerActionSamplingEnableSet Enables/Disables sampling for the specified Action Group and Rule APIs cpssDxChPacketAnalyzerGroupCreate Creates a group of rules cpssDxChPacketAnalyzerGroupDelete Deletes a group as well as the rules in it cpssDxChPacketAnalyzerGroupRuleAdd Creates a rule in a group. Verifies the new rule does not conflict with existing rules in the group, and returns an error if it does cpssDxChPacketAnalyzerGroupRuleUpdate Modifies rule attributes, namely field values and action, in a group. Verifies the updated rule does not conflict with other rules in the group, and if it does, returns an error with no update applied cpssDxChPacketAnalyzerGroupRuleDelete Deletes a rule from a group cpssDxChPacketAnalyzerGroupRuleGet Returns definition of a specific rule in a group: key, rule name, list of field values, and action cpssDxChPacketAnalyzerGroupActivateEnableSet Activates/deactivates a group of rules. When a group is activated, its rules are programmed into the switch Data Sampling and Rule Matching APIs cpssDxChPacketAnalyzerSampledDataCountersClear Clears sampling data and counters for a packet analyzer rule cpssDxChPacketAnalyzerRuleMatchStagesGet Gets list of Stages in which a PA rule match was found cpssDxChPacketAnalyzerStageMatchDataGet Gets number of matches, and the sampled field values cpssDxChPacketAnalyzerStageMatchDataAllFieldsGet Gets the stage sampled data for all fields of the specified rule cpssDxChPacketAnalyzerRuleMatchDataAllFieldsByAttributeGet Gets the stage sampled data for all predefine fields of the specified rule and specific search attributes (port/tile, pipe, dp) Falcon only cpssDxChPacketAnalyzerStageMatchDataAllInternalFieldsGet Gets the stage sampled data for all unnamed fields of the specified rule cpssDxChPacketAnalyzerStageMatchDataAllInternalFieldsByAttributesGet Gets the stage sampled data for all unnamed fields of the specified rule for specific search attributes (port/tile, pipe, dp) Falcon only Stage APIs cpssDxChPacketAnalyzerStageFieldsGet Gets list of fields in a Stage cpssDxChPacketAnalyzerStagesGet Gets the list of Stages currently managed by the Manager, and the list of valid Stages cpssDxChPacketAnalyzerFieldStagesGet Gets list of stages including the specified field cpssDxChPacketAnalyzerMuxStagesGet Gets the list of Stages connected to the same i-Debug Instance as the specified Stage cpssDxChPacketAnalyzerMuxStageBind Binds the specified Stage to its i-Debug Instance cpssDxChPacketAnalyzerMuxStageUnbind Unbinds the specified Stage from its i-Debug Instance cpssDxChPacketAnalyzerUserDefinedStageAdd Adds a new User Defined Stage cpssDxChPacketAnalyzerUserDefinedStageDelete Deletes a User Defined Stage cpssDxChPacketAnalyzerUserDefinedStageGet Obtains attributes of User Defined Stage with specified name cpssDxChPacketAnalyzerUserDefinedStageInfoGet Obtains attributes of User Defined Stage with enumerated name cpssDxChPacketAnalyzerStageFieldOverlappingFieldsGet Gets a list of Packet Analyzer fields overlapping the specified field in stage This is important since only a valid field may be matched, which means overlapping fields cannot be matched simultaneously There are no dedicated APIs for configuring the packet-trace feature. The user should configure the packet match criteria in the i-pcl stage, and configure a match on the packet_trace field is the subsequent Stages. Structures and Unions Table 175: Packet Analyzer Structures & Unions Structure / Union Description CPSS_DXCH_PACKET_ANALYZER_COUNTER_INTERRUPT_THRESH_STC Counter threshold. This is a structure due to the counter being spread over several registers CPSS_DXCH_PACKET_ANALYZER_ACTION_STC Packet Analyzer Action configuration CPSS_DXCH_PACKET_ANALYZER_KEY_ATTRIBUTES_STC Packet Analyzer Key attributes (currently name) CPSS_DXCH_PACKET_ANALYZER_GROUP_ATTRIBUTES_STC Packet Analyzer Group attributes (currently name) CPSS_DXCH_PACKET_ANALYZER_RULE_ATTRIBUTES_STC Packet Analyzer Rule attributes (currently name) CPSS_DXCH_PACKET_ANALYZER_MANAGER_ATTRIBUTES_STC Packet Analyzer manager attributes - system mode CPSS_DXCH_PACKET_ANALYZER_FIELD_VALUE_STC Field name, value, and mask CPSS_DXCH_PACKET_ANALYZER_SEARCH_ATTRIBUTE_STC Packet Analyzer search attributes - contains the parameters required according to the search type CPSS_DXCH_PACKET_ANALYZER_INTERNAL_FIELD_VALUE_STC Unnamed field value (data and mask) Enumerations Table 176: Packet Analyzer Enumeration Types Enumeration Description CPSS_DXCH_PACKET_ANALYZER_FIELD_ENT Packet Analyzer pre-defined fields CPSS_DXCH_PACKET_ANALYZER_FIELD_ASSIGNMENT_MODE_ENT Field assignment modes (all / partial) CPSS_DXCH_PACKET_ANALYZER_SAMPLING_MODE_ENT Sampling modes (first / last match) CPSS_DXCH_PACKET_ANALYZER_LOOKUP_STAGES_ENT Packet Analyzer Pre-defined Stages CPSS_DXCH_PACKET_ANALYZER_SEARCH_ATTRIBUTE_TYPE_ENT Packet Analyzer search types我想用上述接口实现丢包统计,该怎么做
最新发布
09-16
Software Considerations – Configuration To configure the PA Manager: To create a PA Manager, call cpssDxChPacketAnalyzerManagerCreate, with the managerId parameter set (beginning with 1). To enable the PA Manager, call cpssDxChPacketAnalyzerManagerEnableSet, with the enable parameter set to GT_TRUE. Verify the XML file specifying the i-Debug configuration specific for the device is loaded under the appropriate location. See i-Debug XML Files for locations per platform. Set the device associated with the PA Manager, by calling with the CPSS device number, commonly 0. Should the XML configuration file be missing from the appropriate location, the API returns GT_FAIL. To create a Logical key, call cpssDxChPacketAnalyzerLogicalKeyCreate with: Key ID and name (keyAttrPtr is pointer to key name) A list of stages (CPSS_DXCH_PACKET_ANALYZER_LOOKUP_STAGES_ENT) and fields (CPSS_DXCH_PACKET_ANALYZER_FIELD_ENT) filtered by key NOTE: The key contains only the list of fields. The values determining the sampling/filtering is set by rules using that key - in each rule a list of respective field values. fieldModePtr key creation mode set to ALL / PARTIAL (see table Field Assignment Modes – CPSS_DXCH_PACKET_ANALYZER_FIELD_ASSIGNMENT_MODE_ENT) To create an action, call cpssDxChPacketAnalyzerActionCreate with: Action ID Action to perform samplingEnable set to GT_TRUE To apply the action to descriptors with field values other than those specified in the rule, set inverseEnable to GT_TRUE To create a group of rules, call cpssDxChPacketAnalyzerGroupCreate with its ID and name. To add a rule to a group, call cpssDxChPacketAnalyzerGroupRuleAdd with the following parameters setup: managerId – PA Manager ID keyId – Key ID containing list of fields for which the rule should specify the values, and list of stages in which to match/test these fields groupId – Group ID ruleId – The new rule ID ruleAttPtr – The new rule name numOfFields and fieldsValueArr – Respectively, number and list of specified field values matching the key fields actionId – An existing action ID to perform upon a found match To add keys, actions, rules, and groups, repeat steps 6. through 9.. To activate a group, call cpssDxChPacketAnalyzerGroupActivateEnableSet with the group ID and the enable parameter set to GT_TRUE. Run traffic. To disable a group, call cpssDxChPacketAnalyzerGroupActivateEnableSet with the group ID and the enable parameter set to GT_FALSE. To obtain the list of sampled stages, call cpssDxChPacketAnalyzerRuleMatchStagesGet. To display the sampled data – counters, field names, and field values, for a specific stage, call cpssDxChPacketAnalyzerStageMatchDataGet or cpssDxChPacketAnalyzerStageMatchDataAllFieldsGet. The first returns the values of fields included as input in the field list, and the latter - the values for all stage fields.
09-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值