问题产生原因:
<url-pattern>/</url-pattern>这表示这个servlet 拦截了所有的请求,包括css,js等。所以出现上面描述的情况。
解决办法(以下全部根据网上资料整理而成):
解决方案1:
step1:在 webapp下建立static 文件夹,并在 static 文件夹里面建立css 文件夹,然后建立对应.css 文件
step2:修改 mvc-dispatcher-servlet.xml 文件(或者spring对应的配置文件,上图的配置文件为spring-mvc.xml)
添加配置:
<mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>
解决方案2:
修改web.xml
修改
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>*.do</url-pattern></servlet-mapping>
这样dispatchservlet 只拦截*.do 的url. 并不拦截css,js
解决方案3(推荐,亲测可用):
修改web.xml
添加
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
你可以这么写,,, 1、layout页面:@RenderSection("head", false)这句话放入到head标签里头, 2、在其他页面要自己定义不同的样式就可以使用@section head{//加入自己写的样式或者是引用外部css文件}1、JS调用C#后台方法方法一:
1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中
2、在前台写一个js函数,内容为document.getElementById("btn1").click()
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
点击Click后,会引发页面回传事件,
方法二:
__doPostBack('源控件','参数')
<input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')">
执行顺序:引起页面回发后 页面的Init事件-->OnLoad-->处理回发事件(RaisePostBackEvent)-->render
2、C#调用前台JS方法
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "ShowMaterialManager('" + url + "')", true)
ShowMaterialManager为前台JS方法
执行顺序: 前台页面dom加载完毕-->执行调用的JS方法-->前台页面的Ready -->前台页面的OnLoad方法
常用的生成客户端脚本方法:
RegisterArraryDeclaration -- 添加javascript数组
RegisterClientScriptBlock-- 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)
RegiserStartScript-- ------- 在</form>前添加script代码块
RegisterStartupScript-- 在 Web 窗体的结尾处
RegisterClientScriptInclude--添加JS文件引用
RegisterClientScriptResource--添加外部资源文件引用
RegisterHiddenField--在<Form>后增加隐藏表单域
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)