This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
The latest versions of Struts (1.2.9 and above) in fact do not support a name attribute in the <html:form> tag. It has been deprecated. This means there's nothing wrong with your tag library declarations. You just need to remove the name and type attributes from your <html:form> tag.
We were also facing the same problem.
The solution to this is to use correct version of the.tld file.
Compare the file
and the file present in struts.jar \META-INF\tlds\struts-html.tld
There must be some differences between these 2 files.
The reason it was working for 2nd code, is because when you put http://struts.apache.org/tags-html then it takes the tld from the JAR file directly. and in previous case it takes from web-inf directory.