【struts2】一个BBS论坛初步显示index.html

<html>
<head>
    <title>cutter_point论坛</title>
    <!-- Ext -->
    <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="ext/ext-all.js"></script><!--        // 引入ext核心组件及驱动  
-->
<style type="text/css">
        html, body {
            font: normal 12px verdana;
            margin: 0;
            padding: 0;
            border: 0 none;
            overflow: hidden;
            height: 100%;
        }
        .empty .x-panel-body {
            padding-top:20px;
            text-align:center;
            font-style:italic;
            color: gray;
            font-size:11px;
        }
    </style>
<script type="text/javascript" src="ext/bootstrap.js"></script>
<script type="text/javascript" src="ext/ext-lang-zh_CN.js"></script>

<script type="text/javascript">
    Ext.require(['*']);

    Ext.onReady(function(){

        //添加panel的函数
	    var addPanel = function(btn, event) {
			var n;
			n = tab.getComponent(btn.id);
			if(n) 
			{
				tab.setActiveTab(n);
				return;
			}
			n = tab.add( {
				id : btn.id,
				title : btn.id,
				html : '<iframe width=100% height=100% src=' + btn.id + ' />',
				//autoLoad : '',
				closable : 'true'
			});
			tab.setActiveTab(n);
		}

        // sample static data for the store
        var myData = [
            ['组长', '肖锋',  'supperMan'],
            ['大兵一号', 'xxx', 'xxxx'],
            ['大兵二号', 'xxx', 'xxxx'],
            ['大兵三号', 'xxx', 'xxxx'],
            ['大兵四号', 'xxx', 'xxxx'],
            ['大兵五号', 'xxx', 'xxxx']
        ];

        /**
         * Custom function used for column renderer
         * @param {Object} val
         */
        function change(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '</span>';
            }
            return val;
        }

        /**
         * Custom function used for column renderer
         * @param {Object} val
         */
        function pctChange(val) {
            if (val > 0) {
                return '<span style="color:green;">' + val + '%</span>';
            } else if (val < 0) {
                return '<span style="color:red;">' + val + '%</span>';
            }
            return val;
        }


        // create the data store
        var store = Ext.create('Ext.data.ArrayStore', {
            fields: [
               {name: 'company'},
               {name: 'price'},
               {name: 'change'},
            ],
            data: myData
        });

        // create the Grid
        var grid = Ext.create('Ext.grid.Panel', {
            hideCollapseTool: true,
            store: store,
            columnLines: true,
            columns: [
                {
                    text     : '职位',
                    flex     : 1,
                    sortable : false,
                    dataIndex: 'company'
                },
                {
                    text     : '姓名',
                    width    : 75,
                    sortable : true,
                    dataIndex: 'price'
                },
                {
                    text     : '性别',
                    width    : 75,
                    sortable : true,
                    renderer : change,
                    dataIndex: 'change'
                },
            ],
            title: '成员表 (Click header to collapse)',
            viewConfig: {
                stripeRows: true
            }
        });

        var item1 = grid;

            var item2 = Ext.create('Ext.Panel', {
                title: 'Gategory管理',
               // html: '<empty panel>',
                cls:'empty',
				items :
				[
					Ext.create
					(
						'Ext.Button',
						{
							id : 'Category-list',
							text : 'Category列表',
							width : 200,
							listeners : 
							{
								//alert('ext','welcome you!');
								click : addPanel
							}
						}
					),

					Ext.create
					(
						'Ext.Button',
						{
							id : 'test',
							text : 'test',
							width : 200,
							listeners : 
							{
								//click : addPanel
							}
						}
					)
				]
                
            });

            var item3 = Ext.create('Ext.Panel', {
                title: 'Accordion Item 3',
                html: '<empty panel>',
                cls:'empty'
            });

            var item4 = Ext.create('Ext.Panel', {
                title: 'Accordion Item 4',
                html: '<empty panel>',
                cls:'empty'
            });

            var item5 = Ext.create('Ext.Panel', {
                title: 'Accordion Item 5',
                html: '<empty panel>',
                cls:'empty'
            });

            var accordion = Ext.create('Ext.Panel', {
                region:'west',
                margins:'5 0 5 5',
                split:true,
                width: 210,
                layout:'accordion',
                items: [item1, item2, item3, item4, item5]
            });

            //右边的页面嵌入
		    var tab = Ext.createWidget('tabpanel', {
		    	region:'center',
		        margins:'5 5 5 0',
		        split:true,
                layout:'accordion',
                bodyStyle:'background:#f1f1f1',
		        activeTab: 0,			//这个是激活第一个panel
		        items : [ {

					title : 'index',

					//html : 'aaaaaa'
					loader : { url : "Category_add.jsp", autoLoad : true}
				} ]
		    });

            //这个是总的布局
            var viewport = Ext.create('Ext.Viewport', {
                layout:'border',
                items:
                [
                    accordion, /*{
                    region:'center',
                    margins:'5 5 5 0',
                    cls:'empty',
                    bodyStyle:'background:#f1f1f1',
                    html:'<br/><br/><empty center panel>'
                }*/
                    tab
                ]
            });
        });
    </script>
</head>
<body>
<script type="text/javascript" src="ext/shared/examples.js"></script><!-- EXAMPLES -->
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"POST /struts2-showcase/index.action" 是一个常见的Web请求,指示客户端正在向服务器的特定路径发送POST请求。在这种情况下,请求的路径是"/struts2-showcase/index.action"。 这个请求可能是针对使用Struts 2框架构建的Web应用程序的攻击尝试。Struts 2是一个流行的Java Web应用程序开发框架,但它也存在一些安全漏洞。攻击者可能会尝试通过发送特定的请求来利用这些漏洞。 要确保您的Web应用程序安全,您可以采取以下措施: 1. 更新和修补漏洞:确保您使用的Struts 2框架是最新的,并及时应用官方发布的安全补丁。这有助于修复已知的漏洞,并提供更好的安全性。 2. 输入验证和过滤:对于所有从客户端接收的输入数据,包括表单提交和URL参数,进行有效的输入验证和过滤。确保只接受预期格式和类型的数据,并避免执行任意代码。 3. 强化访问控制:通过实施适当的访问控制策略,限制用户对敏感功能和数据的访问。使用角色和权限来确保只有授权用户可以执行特定操作。 4. 安全日志记录和监控:确保您的Web应用程序具有适当的日志记录和监控机制,以便及时检测和响应任何异常活动。监控登录尝试、访问模式和异常请求等活动,以便尽早发现潜在的攻击。 5. 安全培训和意识:教育您的开发人员和用户有关常见的Web应用程序安全问题和最佳实践。提高他们对潜在威胁的意识,并确保他们知道如何正确处理敏感数据和执行安全操作。 请注意,以上建议是基本的安全实践,但仍然需要根据您的具体应用程序和环境进行调整和扩展。定期进行安全审查和渗透测试,并与安全专家合作,以确保您的Web应用程序的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值